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.

112 lines
2.3 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 Parent,
  34. BSTR CommonName,
  35. BSTR ClassName,
  36. CCredentials& Credentials,
  37. DWORD dwObjectState,
  38. REFIID riid,
  39. void **ppvObj
  40. );
  41. static
  42. HRESULT
  43. CIISGenObject::AllocateGenObject(
  44. LPWSTR pszClassName,
  45. CCredentials& Credentials,
  46. CIISGenObject ** ppGenObject
  47. );
  48. STDMETHOD(GetInfo)(
  49. BOOL fExplicit
  50. );
  51. HRESULT
  52. CIISGenObject::IISSetObject();
  53. HRESULT
  54. CIISGenObject::IISCreateObject();
  55. HRESULT
  56. CIISGenObject::CacheMetaDataPath();
  57. LPWSTR
  58. CIISGenObject::ReturnMetaDataPath(VOID) {
  59. return _pszMetaBasePath;
  60. }
  61. protected:
  62. // Helper methods
  63. HRESULT
  64. ResolveExtendedChildPath(
  65. IN BSTR RelativeChildPath,
  66. OUT BSTR *pParentPath,
  67. OUT BSTR *pParentClass
  68. );
  69. VARIANT _vFilter;
  70. LPWSTR _pszServerName;
  71. LPWSTR _pszMetaBasePath;
  72. CPropertyCache FAR * _pPropertyCache;
  73. CAggregatorDispMgr FAR * _pDispMgr;
  74. CADsExtMgr FAR * _pExtMgr;
  75. CCredentials _Credentials;
  76. IMSAdminBase *_pAdminBase; //interface pointer
  77. IIsSchema *_pSchema;
  78. private:
  79. bool CheckIsW3(LPCWSTR pszPath);
  80. };