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.

75 lines
1.4 KiB

  1. #ifndef _MD_COIMP_
  2. #define _MD_COIMP_
  3. extern ULONG g_dwRefCount;
  4. // {51DFE972-F6F2-11d0-B9BD-00A0C922E750}
  5. DEFINE_GUID(CLSID_ADMEXT, 0x51dfe972, 0xf6f2, 0x11d0, 0xb9, 0xbd, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  6. // {51DFE973-F6F2-11d0-B9BD-00A0C922E750}
  7. DEFINE_GUID(CLSID_DCOMADMEXT, 0x51dfe973, 0xf6f2, 0x11d0, 0xb9, 0xbd, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  8. class CAdmExt : public IADMEXT {
  9. public:
  10. CAdmExt();
  11. ~CAdmExt();
  12. HRESULT STDMETHODCALLTYPE
  13. Initialize( void );
  14. HRESULT STDMETHODCALLTYPE
  15. EnumDcomCLSIDs(
  16. /* [size_is][out] */ CLSID *pclsidDcom,
  17. /* [in] */ DWORD dwEnumIndex);
  18. HRESULT STDMETHODCALLTYPE
  19. Terminate( void );
  20. HRESULT _stdcall
  21. QueryInterface(REFIID riid, void **ppObject);
  22. ULONG _stdcall
  23. AddRef();
  24. ULONG _stdcall
  25. Release();
  26. private:
  27. ULONG m_dwRefCount;
  28. };
  29. class CAdmExtSrvFactory : public IClassFactory {
  30. public:
  31. CAdmExtSrvFactory();
  32. ~CAdmExtSrvFactory();
  33. HRESULT _stdcall
  34. QueryInterface(REFIID riid, void** ppObject);
  35. ULONG _stdcall
  36. AddRef();
  37. ULONG _stdcall
  38. Release();
  39. HRESULT _stdcall
  40. CreateInstance(IUnknown *pUnkOuter, REFIID riid,
  41. void ** pObject);
  42. HRESULT _stdcall
  43. LockServer(BOOL fLock);
  44. CAdmExt m_admextObject;
  45. private:
  46. ULONG m_dwRefCount;
  47. };
  48. extern CAdmExtSrvFactory g_aesFactory;
  49. #endif
  50.