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.

101 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. coimp.cxx
  5. Abstract:
  6. IIS Services IISADMIN Extension
  7. Include file for class CAdmExt
  8. Author:
  9. Michael W. Thomas 16-Sep-97
  10. --*/
  11. #ifndef _MD_COIMP_
  12. #define _MD_COIMP_
  13. #include <imd.h>
  14. extern ULONG g_dwRefCount;
  15. // {FCC764A0-2A38-11d1-B9C6-00A0C922E750}
  16. //{ 0xfcc764a0, 0x2a38, 0x11d1, { 0xb9, 0xc6, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50 } };
  17. // {FCC764A0-2A38-11d1-B9C6-00A0C922E750}
  18. DEFINE_GUID(CLSID_W3EXTEND, 0xfcc764a0, 0x2a38, 0x11d1, 0xb9, 0xc6, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  19. class CAdmExt : public IADMEXT {
  20. public:
  21. CAdmExt();
  22. ~CAdmExt();
  23. HRESULT STDMETHODCALLTYPE
  24. Initialize( void );
  25. HRESULT STDMETHODCALLTYPE
  26. EnumDcomCLSIDs(
  27. /* [size_is][out] */ CLSID *pclsidDcom,
  28. /* [in] */ DWORD dwEnumIndex);
  29. HRESULT STDMETHODCALLTYPE
  30. Terminate( void );
  31. HRESULT _stdcall
  32. QueryInterface(REFIID riid, void **ppObject);
  33. ULONG _stdcall
  34. AddRef();
  35. ULONG _stdcall
  36. Release();
  37. private:
  38. VOID
  39. SetServerState(
  40. LPWSTR pszPath);
  41. ULONG m_dwRefCount;
  42. IMDCOM *m_pcCom;
  43. DWORD m_dwSinkCookie;
  44. IConnectionPoint* m_pConnPoint;
  45. };
  46. class CAdmExtSrvFactory : public IClassFactory {
  47. public:
  48. CAdmExtSrvFactory();
  49. ~CAdmExtSrvFactory();
  50. HRESULT _stdcall
  51. QueryInterface(REFIID riid, void** ppObject);
  52. ULONG _stdcall
  53. AddRef();
  54. ULONG _stdcall
  55. Release();
  56. HRESULT _stdcall
  57. CreateInstance(IUnknown *pUnkOuter, REFIID riid,
  58. void ** pObject);
  59. HRESULT _stdcall
  60. LockServer(BOOL fLock);
  61. CAdmExt m_admextObject;
  62. private:
  63. ULONG m_dwRefCount;
  64. };
  65. extern CAdmExtSrvFactory g_aesFactory;
  66. #endif
  67.