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.

52 lines
1.6 KiB

  1. // MDServiceProvider.h : Declaration of the CMDServiceProvider
  2. #ifndef __MDSERVICEPROVIDER_H_
  3. #define __MDSERVICEPROVIDER_H_
  4. #include "resource.h" // main symbols
  5. /////////////////////////////////////////////////////////////////////////////
  6. // CMDServiceProvider
  7. class ATL_NO_VTABLE CMDServiceProvider :
  8. public CComObjectRootEx<CComSingleThreadModel>,
  9. public CComCoClass<CMDServiceProvider, &CLSID_MDServiceProvider>,
  10. public IMDServiceProvider,
  11. public IComponentAuthenticate,
  12. public IMDSPRevoked
  13. {
  14. public:
  15. CMDServiceProvider();
  16. ~CMDServiceProvider();
  17. DECLARE_CLASSFACTORY_SINGLETON(CMDServiceProvider)
  18. DECLARE_REGISTRY_RESOURCEID(IDR_MDSERVICEPROVIDER)
  19. BEGIN_COM_MAP(CMDServiceProvider)
  20. COM_INTERFACE_ENTRY(IMDServiceProvider)
  21. COM_INTERFACE_ENTRY(IComponentAuthenticate)
  22. COM_INTERFACE_ENTRY(IMDSPRevoked)
  23. END_COM_MAP()
  24. // IMDServiceProvider
  25. public:
  26. DWORD m_dwThreadID;
  27. HANDLE m_hThread;
  28. STDMETHOD(EnumDevices)(/*[out]*/ IMDSPEnumDevice **ppEnumDevice);
  29. STDMETHOD(GetDeviceCount)(/*[out]*/ DWORD *pdwCount);
  30. STDMETHOD(SACAuth)(DWORD dwProtocolID,
  31. DWORD dwPass,
  32. BYTE *pbDataIn,
  33. DWORD dwDataInLen,
  34. BYTE **ppbDataOut,
  35. DWORD *pdwDataOutLen);
  36. STDMETHOD(SACGetProtocols)(DWORD **ppdwProtocols,
  37. DWORD *pdwProtocolCount);
  38. // IMDSPRevoked
  39. STDMETHOD(GetRevocationURL)( LPWSTR* ppwszRevocationURL,
  40. DWORD* pdwBufferLen );
  41. };
  42. #endif //__MDSERVICEPROVIDER_H_