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.

47 lines
1.5 KiB

  1. // Copyright (c) 1999 Microsoft Corporation. All rights reserved.
  2. //
  3. // Declaration of CAutDirectMusicSegment.
  4. // IDispatch interface for IDirectMusicSegment.
  5. // Unly usable via aggregation within an IDirectMusicSegment object.
  6. //
  7. #pragma once
  8. #include "autbaseimp.h"
  9. class CAutDirectMusicSegment;
  10. typedef CAutBaseImp<CAutDirectMusicSegment, IDirectMusicSegment8, &IID_IDirectMusicSegment8> BaseImpSegment;
  11. class CAutDirectMusicSegment
  12. : public BaseImpSegment
  13. {
  14. public:
  15. static HRESULT CreateInstance(IUnknown* pUnknownOuter, const IID& iid, void** ppv);
  16. private:
  17. // Methods
  18. CAutDirectMusicSegment(
  19. IUnknown* pUnknownOuter,
  20. const IID& iid,
  21. void** ppv,
  22. HRESULT *phr);
  23. // Automation
  24. // �� Methods that rely on an implied performance need testing in multithreaded situations
  25. HRESULT Load(AutDispatchDecodedParams *paddp);
  26. HRESULT Play(AutDispatchDecodedParams *paddp);
  27. HRESULT Stop(AutDispatchDecodedParams *paddp);
  28. HRESULT DownloadSoundData(AutDispatchDecodedParams *paddp) { return DownloadOrUnload(true, paddp); }
  29. HRESULT UnloadSoundData(AutDispatchDecodedParams *paddp) { return DownloadOrUnload(false, paddp); }
  30. HRESULT Recompose(AutDispatchDecodedParams *paddp);
  31. // Helpers
  32. HRESULT DownloadOrUnload(bool fDownload, AutDispatchDecodedParams *paddp);
  33. public:
  34. // Dispatch info for CAutBaseImp
  35. static const AutDispatchMethod ms_Methods[];
  36. static const DispatchHandlerEntry<CAutDirectMusicSegment> ms_Handlers[];
  37. // Name for CAutBaseImp
  38. static const WCHAR ms_wszClassName[];
  39. };