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.

82 lines
2.6 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // MetabaseObject.h
  7. //
  8. // Description:
  9. // Copied from %fp%\server\source\msiis\metabase.cpp
  10. // Opens the Metabse for accessing information about
  11. // IIS. For example, to make sure it is installed correctly
  12. // and make sure ASP is turned on.
  13. //
  14. // Implementation Files:
  15. // MetabaseObject.cpp
  16. //
  17. // History:
  18. // travisn 2-AUG-2001 Created
  19. //
  20. //////////////////////////////////////////////////////////////////////////////
  21. #pragma once
  22. //////////////////////////////////////////////////////////////////////////////
  23. // Include Files
  24. //////////////////////////////////////////////////////////////////////////////
  25. #include <iiscnfg.h> // for MD_* constants
  26. #include <iadmw.h> // METADATA_HANDLE et al
  27. #include <string>
  28. //////////////////////////////////////////////////////////////////////////////
  29. // CMetabaseObject definition
  30. //////////////////////////////////////////////////////////////////////////////
  31. class CMetabaseObject
  32. {
  33. public:
  34. /////////////////////////////////////////////////////////////////////////
  35. //Default Constructor
  36. CMetabaseObject()
  37. : m_pIAdmCom(0)
  38. , m_isOpen(FALSE)
  39. , m_handle(0)
  40. {
  41. }
  42. /////////////////////////////////////////////////////////////////////////
  43. //Destructor
  44. ~CMetabaseObject();
  45. /////////////////////////////////////////////////////////////////////////
  46. HRESULT init();
  47. /////////////////////////////////////////////////////////////////////////
  48. HRESULT openObject(const WCHAR *path);
  49. /////////////////////////////////////////////////////////////////////////
  50. HRESULT closeObject();
  51. /////////////////////////////////////////////////////////////////////////
  52. //HRESULT getData(
  53. // DWORD property,
  54. // Wstring& value,
  55. // DWORD userType = IIS_MD_UT_SERVER,
  56. // LPCWSTR path = 0,
  57. // BOOL inherited = TRUE,
  58. // DWORD dataType = STRING_METADATA);
  59. /////////////////////////////////////////////////////////////////////////
  60. //HRESULT enumerateObjects(
  61. // LPCWSTR pszMDPath,
  62. // LPWSTR pszMDName, // at least METADATA_MAX_NAME_LEN long
  63. // DWORD dwMDEnumKeyIndex);
  64. private:
  65. /////////////////////////////////////////////////////////////////////////
  66. IMSAdminBase *m_pIAdmCom;
  67. METADATA_HANDLE m_handle;
  68. BOOL m_isOpen;
  69. };