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.

82 lines
1.4 KiB

  1. #ifndef _MD_COIMP_
  2. #define _MD_COIMP_
  3. #include <iadmext.h>
  4. extern ULONG g_dwRefCount;
  5. // {c4376b00-f87b-11d0-a6a6-00a0c922e752}
  6. DEFINE_GUID(CLSID_ADMEXT, 0xc4376b00, 0xf87b, 0x11d0, 0xa6, 0xa6, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x52);
  7. class CAdmExt : public IADMEXT {
  8. public:
  9. CAdmExt();
  10. ~CAdmExt();
  11. HRESULT STDMETHODCALLTYPE
  12. Initialize( void );
  13. HRESULT STDMETHODCALLTYPE
  14. EnumDcomCLSIDs(
  15. /* [size_is][out] */ CLSID *pclsid,
  16. /* [in] */ DWORD dwEnumIIDIndex);
  17. HRESULT STDMETHODCALLTYPE
  18. Terminate( void );
  19. HRESULT _stdcall
  20. QueryInterface(REFIID riid, void **ppObject);
  21. ULONG _stdcall
  22. AddRef();
  23. ULONG _stdcall
  24. Release();
  25. private:
  26. ULONG m_dwRefCount;
  27. };
  28. class CAdmExtSrvFactory : public IClassFactory {
  29. public:
  30. CAdmExtSrvFactory();
  31. ~CAdmExtSrvFactory();
  32. HRESULT _stdcall
  33. QueryInterface(REFIID riid, void** ppObject);
  34. ULONG _stdcall
  35. AddRef();
  36. ULONG _stdcall
  37. Release();
  38. HRESULT _stdcall
  39. CreateInstance(IUnknown *pUnkOuter, REFIID riid,
  40. void ** pObject);
  41. HRESULT _stdcall
  42. LockServer(BOOL fLock);
  43. CAdmExt m_admextObject;
  44. private:
  45. ULONG m_dwRefCount;
  46. };
  47. extern CAdmExtSrvFactory g_aesFactory;
  48. STDAPI BootDllRegisterServer(void);
  49. STDAPI BootDllUnregisterServer(void);
  50. BOOL
  51. InitComAdmindata(BOOL bRunAsExe);
  52. BOOL
  53. TerminateComAdmindata();
  54. #endif