NotifyTool.h
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:1k
源码类别:

游戏

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------------
  2. // File: notifytool.h
  3. //
  4. // Desc: Class that implements IDirectMusicTool that will watch
  5. //       for lyrics embedded in the dmusic content and trigger
  6. //       game events when found.  Great for syncing the music and
  7. //       the game state
  8. //
  9. // Copyright (C) Microsoft Corporation. All Rights Reserved.
  10. //-----------------------------------------------------------------------------
  11. #pragma once
  12. class CMyApplication;
  13. class CNotifyTool : public IDirectMusicTool
  14. {
  15. public:
  16.     CNotifyTool( CMyApplication* pApp );
  17. // IUnknown
  18.     virtual STDMETHODIMP QueryInterface(const IID &iid, void **ppv);
  19.     virtual STDMETHODIMP_(ULONG) AddRef();
  20.     virtual STDMETHODIMP_(ULONG) Release();
  21. // IDirectMusicTool
  22.     HRESULT STDMETHODCALLTYPE Init( IDirectMusicGraph* pGraph );
  23.     HRESULT STDMETHODCALLTYPE GetMsgDeliveryType( DWORD* pdwDeliveryType );
  24.     HRESULT STDMETHODCALLTYPE GetMediaTypeArraySize( DWORD* pdwNumElements );
  25.     HRESULT STDMETHODCALLTYPE GetMediaTypes( DWORD** padwMediaTypes, DWORD dwNumElements) ;
  26.     HRESULT STDMETHODCALLTYPE ProcessPMsg( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG );
  27.     HRESULT STDMETHODCALLTYPE Flush( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt );
  28. private:
  29.     long    m_cRef;             // Reference counter
  30.     CMyApplication* m_pApp;
  31. };