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.

34 lines
1.1 KiB

  1. #pragma once
  2. class CStorageGlobals:
  3. public CComObjectRoot,
  4. public IMDSPStorageGlobals
  5. {
  6. public:
  7. CStorageGlobals();
  8. HRESULT Init(LPCWSTR szStartPath, IMDSPDevice *pDevice);
  9. public:
  10. BEGIN_COM_MAP(CStorageGlobals)
  11. COM_INTERFACE_ENTRY(IMDSPStorageGlobals)
  12. END_COM_MAP()
  13. //
  14. // IMDSPStorageGloabls
  15. //
  16. STDMETHOD( GetCapabilities )( DWORD *pdwCapabilities );
  17. STDMETHOD( GetSerialNumber )( PWMDMID pSerialNum, BYTE abMac[ 20 ] );
  18. STDMETHOD( GetTotalSize )( DWORD *pdwFreeLow, DWORD *pdwFreeHigh );
  19. STDMETHOD( GetTotalFree )( DWORD *pdwFreeLow, DWORD *pdwFreeHigh );
  20. STDMETHOD( GetTotalBad )( DWORD *pdwBadLow, DWORD *pdwBadHigh );
  21. STDMETHOD( GetStatus )( DWORD *pdwStatus );
  22. STDMETHOD( Initialize )( UINT fuMode, IWMDMProgress *pProgress);
  23. STDMETHOD( GetDevice )( IMDSPDevice * *ppDevice );
  24. STDMETHOD( GetRootStorage )( IMDSPStorage * *ppRoot );
  25. protected:
  26. WCHAR m_szStartPath[MAX_PATH];
  27. CComPtr<IMDSPDevice> m_spDevice;
  28. };
  29. typedef CComObject<CStorageGlobals> CComStorageGlobals;