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.

41 lines
1.1 KiB

  1. // WMDMDeviceEnum.h : Declaration of the CWMDMDeviceEnum
  2. #ifndef __WMDMDEVICEENUM_H_
  3. #define __WMDMDEVICEENUM_H_
  4. #include "resource.h" // main symbols
  5. /////////////////////////////////////////////////////////////////////////////
  6. // CWMDMDeviceEnum
  7. class ATL_NO_VTABLE CWMDMDeviceEnum :
  8. public CComObjectRootEx<CComMultiThreadModel>,
  9. public CComCoClass<CWMDMDeviceEnum, &CLSID_WMDMDeviceEnum>,
  10. public IWMDMEnumDevice
  11. {
  12. public:
  13. CWMDMDeviceEnum();
  14. ~CWMDMDeviceEnum();
  15. BEGIN_COM_MAP(CWMDMDeviceEnum)
  16. COM_INTERFACE_ENTRY(IWMDMEnumDevice)
  17. END_COM_MAP()
  18. // IWMDMDeviceEnum
  19. public:
  20. STDMETHOD(Next)(ULONG celt,
  21. IWMDMDevice **ppDevice,
  22. ULONG *pceltFetched);
  23. STDMETHOD(Skip)(ULONG celt, ULONG *pceltFetched);
  24. STDMETHOD(Reset)();
  25. STDMETHOD(Clone)(IWMDMEnumDevice **ppEnumDevice);
  26. private:
  27. CComAutoCriticalSection m_csCurrentSP;
  28. WORD m_wCurrentSP;
  29. WORD m_wSPCount;
  30. IMDSPEnumDevice **m_ppEnums;
  31. WORD *m_pwSPSkipped;
  32. HRESULT hrInitializeEnumArray();
  33. };
  34. #endif //__WMDMDEVICEENUM_H_