Leaked source code of windows server 2003
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.

60 lines
1.8 KiB

  1. #ifndef _TIMESHIFT_TOOL_
  2. #define _TIMESHIFT_TOOL_
  3. #include "basetool.h"
  4. #include "tools.h"
  5. #include "param.h"
  6. #include "toolhelp.h"
  7. #include "..\dmtoolprp\toolprops.h"
  8. class CTimeShiftTool :
  9. public CBaseTool ,
  10. public CParamsManager,
  11. public CToolHelper,
  12. public IPersistStream,
  13. public ISpecifyPropertyPages,
  14. public IDirectMusicTimeShiftTool
  15. {
  16. public:
  17. CTimeShiftTool();
  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. // IDirectMusicTimeShiftTool
  42. STDMETHODIMP SetTimeUnit(DWORD dwTimeUnit) ;
  43. STDMETHODIMP SetRange(DWORD dwRange) ;
  44. STDMETHODIMP SetOffset(long lOffset) ;
  45. STDMETHODIMP GetTimeUnit(DWORD * pdwTimeUnit) ;
  46. STDMETHODIMP GetRange(DWORD * pdwRange);
  47. STDMETHODIMP GetOffset(long * plOffset);
  48. };
  49. #endif // _TIMESHIFT_TOOL_