DiscRecorder.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ///////////////////////////////////////////////////////////////////////
  2. // DiscRecorder.h
  3. //
  4. // Wrapper for IDiscRecorder2 Interface
  5. //
  6. // Written by Eric Haddan
  7. //
  8. #pragma once
  9. #include "stdafx.h"
  10. class CDiscRecorder
  11. {
  12. private:
  13. IDiscRecorder2* m_discRecorder;
  14. SAFEARRAY* m_volumePathNames;
  15. HRESULT m_hResult;
  16. CString m_recorderUniqueId;
  17. public:
  18. CString m_cstrRecorderName;
  19. public:
  20. CDiscRecorder(void);
  21. ~CDiscRecorder(void);
  22. inline HRESULT GetHresult() {return m_hResult;}
  23. inline IDiscRecorder2* GetInterface() {return m_discRecorder;}
  24. inline CString GetUniqueId() {return m_recorderUniqueId;}
  25. bool Initialize(const CString& recorderUniqueId);
  26. bool AcquireExclusiveAccess(bool force, const CString& clientName);
  27. bool ReleaseExclusiveAccess();
  28. CString ExclusiveAccessOwner();
  29. bool EjectMedia();
  30. bool CloseTray();
  31. bool EnableMcn();
  32. bool DisableMcn();
  33. LONG GetLegacyDeviceNumber();
  34. CString GetProductID();
  35. CString GetProductRevision();
  36. CString GetVendorId();
  37. CString GetVolumeName();
  38. ULONG GetTotalVolumePaths();
  39. CString GetVolumePath(ULONG volumePathIndex);
  40. };