Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.5 KiB

  1. #ifndef _DURATION_TOOL_
  2. #define _DURATION_TOOL_
  3. #include "basetool.h"
  4. #include "tools.h"
  5. #include "param.h"
  6. #include "toolhelp.h"
  7. #include "..\dmtoolprp\toolprops.h"
  8. class CDurationTool :
  9. public CBaseTool ,
  10. public CParamsManager,
  11. public CToolHelper,
  12. public IPersistStream,
  13. public ISpecifyPropertyPages,
  14. public IDirectMusicDurationTool
  15. {
  16. public:
  17. CDurationTool();
  18. public:
  19. // IUnknown
  20. STDMETHODIMP QueryInterface(const IID &iid, void **ppv) ;
  21. STDMETHODIMP_(ULONG) AddRef() ;
  22. STDMETHODIMP_(ULONG) Release() ;
  23. // IPersist functions
  24. STDMETHODIMP GetClassID(CLSID* pClassID);
  25. // IPersistStream functions
  26. STDMETHODIMP IsDirty();
  27. STDMETHODIMP Load(IStream* pStream);
  28. STDMETHODIMP Save(IStream* pStream, BOOL fClearDirty);
  29. STDMETHODIMP GetSizeMax(ULARGE_INTEGER* pcbSize);
  30. // ISpecifyPropertyPages
  31. STDMETHODIMP GetPages(CAUUID *pPages);
  32. // IDirectMusicTool
  33. // STDMETHODIMP Init(IDirectMusicGraph* pGraph) ;
  34. // STDMETHODIMP GetMsgDeliveryType(DWORD* pdwDeliveryType ) ;
  35. // STDMETHODIMP GetMediaTypeArraySize(DWORD* pdwNumElements ) ;
  36. // STDMETHODIMP GetMediaTypes(DWORD** padwMediaTypes, DWORD dwNumElements) ;
  37. STDMETHODIMP ProcessPMsg(IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG) ;
  38. // STDMETHODIMP Flush(IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt) ;
  39. // IDirectMusicTool8
  40. STDMETHODIMP Clone( IDirectMusicTool ** ppTool) ;
  41. // IDirectMusicDurationTool
  42. STDMETHODIMP SetScale(float flScale) ;
  43. STDMETHODIMP GetScale(float * pflScale);
  44. };
  45. #endif // _DURATION_TOOL_