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.

120 lines
2.4 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996 - 1997
  5. //
  6. // File: cgenobj.hxx
  7. //
  8. // Contents: Microsoft ADs IIS Provider Generic Object
  9. //
  10. // History: 28-Feb-97 SophiaC Created.
  11. //
  12. //----------------------------------------------------------------------------
  13. class CIISGenObject;
  14. class CIISGenObject : INHERIT_TRACKING,
  15. public CCoreADsObject,
  16. public IADs,
  17. public IADsContainer,
  18. public IISBaseObject
  19. {
  20. public:
  21. /* IUnknown methods */
  22. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  23. DECLARE_STD_REFCOUNTING
  24. DECLARE_IDispatch_METHODS
  25. DECLARE_IADs_METHODS
  26. DECLARE_IADsContainer_METHODS
  27. DECLARE_IISBaseObject_METHODS
  28. CIISGenObject::CIISGenObject();
  29. CIISGenObject::~CIISGenObject();
  30. static
  31. HRESULT
  32. CIISGenObject::CreateGenericObject(
  33. BSTR bstrADsPath,
  34. BSTR ClassName,
  35. CCredentials& Credentials,
  36. DWORD dwObjectState,
  37. REFIID riid,
  38. void **ppvObj
  39. );
  40. static
  41. HRESULT
  42. CIISGenObject::CreateGenericObject(
  43. BSTR Parent,
  44. BSTR CommonName,
  45. BSTR ClassName,
  46. CCredentials& Credentials,
  47. DWORD dwObjectState,
  48. REFIID riid,
  49. void **ppvObj
  50. );
  51. static
  52. HRESULT
  53. CIISGenObject::AllocateGenObject(
  54. LPWSTR pszClassName,
  55. CCredentials& Credentials,
  56. CIISGenObject ** ppGenObject
  57. );
  58. STDMETHOD(GetInfo)(
  59. BOOL fExplicit
  60. );
  61. HRESULT
  62. CIISGenObject::IISSetObject();
  63. HRESULT
  64. CIISGenObject::IISCreateObject();
  65. HRESULT
  66. CIISGenObject::CacheMetaDataPath();
  67. LPWSTR
  68. CIISGenObject::ReturnMetaDataPath(VOID) {
  69. return _pszMetaBasePath;
  70. }
  71. protected:
  72. // Helper methods
  73. HRESULT
  74. ResolveExtendedChildPath(
  75. IN BSTR RelativeChildPath,
  76. OUT BSTR *pParentPath,
  77. OUT BSTR *pParentClass
  78. );
  79. VARIANT _vFilter;
  80. LPWSTR _pszServerName;
  81. LPWSTR _pszMetaBasePath;
  82. CPropertyCache FAR * _pPropertyCache;
  83. CAggregatorDispMgr FAR * _pDispMgr;
  84. CADsExtMgr FAR * _pExtMgr;
  85. CCredentials _Credentials;
  86. IMSAdminBase *_pAdminBase; //interface pointer
  87. IIsSchema *_pSchema;
  88. };