34#define SIMPLE_PLAYER_OPEN_EVENT _T( "45ab58e0-382e-4d1c-ac50-88a5f9601851" )
35#define SIMPLE_PLAYER_CLOSE_EVENT _T( "276095fa-a8e0-48e6-ac61-8b0002345607" )
36#define WMAPLAY_EVENT _T( "9e828a72-64f3-48f0-9de8-13dafd0cbd3a" )
44 virtual HRESULT
Play( LPCWSTR pszUrl,
DWORD dwSecDuration, HANDLE hCompletionEvent, HRESULT *phrCompletion );
61 virtual HRESULT STDMETHODCALLTYPE
OnSample(
64 QWORD cnsSampleDuration,
66 INSSBuffer __RPC_FAR *pSample,
67 void __RPC_FAR *pvContext);
69 virtual HRESULT STDMETHODCALLTYPE
OnStatus(
72 WMT_ATTR_DATATYPE dwType,
73 BYTE __RPC_FAR *pValue,
74 void __RPC_FAR *pvContext);
HRESULT AddWaveHeader(LPWAVEHDR pwh)
virtual ULONG STDMETHODCALLTYPE Release()
CSimplePlayer(HRESULT *phr)
void OnWaveOutMsg(UINT uMsg, DWORD dwParam1, DWORD dwParam2)
LONG m_cBuffersOutstanding
IWMHeaderInfo * m_pHeader
virtual HRESULT Play(LPCWSTR pszUrl, DWORD dwSecDuration, HANDLE hCompletionEvent, HRESULT *phrCompletion)
virtual ULONG STDMETHODCALLTYPE AddRef()
static void CALLBACK WaveProc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
HRESULT * m_phrCompletion
virtual HRESULT STDMETHODCALLTYPE OnStatus(WMT_STATUS Status, HRESULT hr, WMT_ATTR_DATATYPE dwType, BYTE __RPC_FAR *pValue, void __RPC_FAR *pvContext)
CRITICAL_SECTION m_CriSec
void RemoveWaveHeaders(void)
WAVEHDR_LIST * m_whdrHead
HANDLE m_hCompletionEvent
virtual HRESULT STDMETHODCALLTYPE OnSample(DWORD dwOutputNum, QWORD cnsSampleTime, QWORD cnsSampleDuration, DWORD dwFlags, INSSBuffer __RPC_FAR *pSample, void __RPC_FAR *pvContext)
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject)
struct WAVEHDR_LIST * next