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.

148 lines
6.6 KiB

  1. #ifndef _MDENTRY_H_
  2. #define _MDENTRY_H_
  3. class CDWord : public CObject
  4. {
  5. protected:
  6. DWORD m_dwData;
  7. public:
  8. CDWord(DWORD dwData) { m_dwData = dwData; }
  9. ~CDWord() {};
  10. operator DWORD () { return m_dwData; }
  11. };
  12. // fMigrate, fKeepOldReg, hRegRootKey, szRegSubKey, szRegValueName,
  13. // szMDPath, dwMDId, dwMDAttr, dwMDuType, dwMDdType, dwMDDataLen, szMDData
  14. typedef struct _MDEntry {
  15. LPTSTR szMDPath;
  16. DWORD dwMDIdentifier;
  17. DWORD dwMDAttributes;
  18. DWORD dwMDUserType;
  19. DWORD dwMDDataType;
  20. DWORD dwMDDataLen;
  21. LPBYTE pbMDData;
  22. } MDEntry;
  23. DWORD atodw(LPCTSTR lpszData);
  24. BOOL SplitLine(LPTSTR szLine, INT iExpectedNumOfFields);
  25. INT GetMDEntryFromInfLine(LPTSTR szLine, MDEntry *pMDEntry);
  26. int WWW_Upgrade_RegToMetabase(HINF hInf);
  27. int FTP_Upgrade_RegToMetabase(HINF hInf);
  28. void CreateWWWVRMap(CMapStringToOb *pMap);
  29. void CreateFTPVRMap(CMapStringToOb *pMap);
  30. void EmptyMap(CMapStringToOb *pMap);
  31. void AddVRootsToMD(LPCTSTR szSvcName);
  32. void AddVRMapToMD(LPCTSTR szSvcName, CMapStringToOb *pMap);
  33. int GetPortNum(LPCTSTR szSvcName);
  34. void ApplyGlobalToMDVRootTree(CString csKeyPath, CMapStringToString *pGlobalObj);
  35. void AddMDVRootTree(CString csKeyPath, CString csName, CString csValue, LPCTSTR pszIP, UINT nProgressBarTextWebInstance);
  36. void CreateMDVRootTree(CString csKeyPath, CString csName, CString csValue, LPCTSTR pszIP);
  37. void SplitVRString(CString csValue, LPTSTR szPath, LPTSTR szUserName, DWORD *pdwPerm);
  38. UINT GetInstNumber(LPCTSTR szMDPath, UINT i);
  39. int MigrateInfSectionToMD(HINF hInf, LPCTSTR szSection);
  40. BOOL CreateMimeMapFromRegistry(CMapStringToString *pMap);
  41. BOOL CreateMimeMapFromInfSection(CMapStringToString *pMap, HINF hFile, LPCTSTR szSection);
  42. void ReadMimeMapFromInfSection(CMapStringToString *pMap, HINF hFile, LPCTSTR szSection, BOOL fAction);
  43. void SetLogPlugInOrder(LPCTSTR lpszSvc);
  44. DWORD GetSizeBasedOnMetaType(DWORD dwDataType,LPTSTR szString);
  45. BOOL MDEntry_MoveValue(LPTSTR szLine);
  46. void ReadMultiSZFromInfSection(CString *pcsMultiSZ, HINF hFile, LPCTSTR szSection);
  47. void ReadMimeMapFromMetabase(CMapStringToString *pMap);
  48. void IntegrateNewErrorsOnUpgrade( IN HINF hFile, IN LPCTSTR szSection );
  49. BOOL ConfirmLocalHost(LPCTSTR lpszVirtServer);
  50. void RemoveCannotDeleteVR( LPCTSTR pszService );
  51. void UpdateVDCustomErrors();
  52. DWORD UpgradeCryptoKeys(void);
  53. DWORD SetMDEntry(MDEntry *pMDEntry);
  54. DWORD SetMDEntry_NoOverWrite(MDEntry *pMDEntry);
  55. DWORD SetMDEntry_Wrap(MDEntry *pMDEntry);
  56. void UpgradeFilters(CString csTheSection);
  57. DWORD VerifyMD_Filters_WWW(CString csTheSection);
  58. DWORD WriteToMD_Filters_WWW(CString csTheSection);
  59. DWORD WriteToMD_Filters_List_Entry(CString csOrder);
  60. DWORD WriteToMD_Filter_Entry(CString csFilter_Name, CString csFilter_Path);
  61. BOOL VerifyMD_InProcessISAPIApps_WWW(IN LPCTSTR szSection);
  62. DWORD WriteToMD_InProcessISAPIApps_WWW(IN LPCTSTR szSection);
  63. DWORD WriteToMD_ISAPI_Entry(CString csISAPIDelimitedList);
  64. DWORD WriteToMD_NTAuthenticationProviders_WWW(void);
  65. DWORD VerifyMD_NTAuthenticationProviders_WWW(void);
  66. DWORD WriteToMD_NTAuthenticationProviders_WWW(CString);
  67. DWORD WriteToMD_Capabilities(LPCTSTR lpszSvc);
  68. UINT AddVirtualServer( LPCTSTR szSvcName, UINT i, CMapStringToString *pObj, CString& csRoot, CString& csIP);
  69. void CreateMDVRootTree(CString csKeyPath, CString csName, CString csValue, LPCTSTR pszIP, UINT nProgressBarTextWebInstance);
  70. int VerifyVRoots(LPCTSTR szSvcName);
  71. DWORD WriteToMD_CertMapper(CString csKeyPath);
  72. DWORD WriteToMD_AdminInstance(CString csKeyPath,CString& csInstNumber);
  73. DWORD WriteToMD_Authorization(CString csKeyPath, DWORD dwValue);
  74. DWORD WriteToMD_IIsWebServerInstance_WWW(CString csKeyPath);
  75. DWORD WriteToMD_NotDeleteAble(CString csKeyPath);
  76. DWORD WriteToMD_ServerSize(CString csKeyPath);
  77. DWORD WriteToMD_ServerComment(CString csKeyPath, UINT iCommentID);
  78. DWORD WriteToMD_ServerBindings_HTMLA(CString csKeyPath, UINT iPort);
  79. DWORD HandleSecurityTemplates(LPCTSTR szSvcName);
  80. DWORD WriteToMD_IPsec_GrantByDefault(CString csKeyPath);
  81. DWORD WriteToMD_HttpExpires(CString csData);
  82. DWORD WriteToMD_AnonymousOnly_FTP(CString csKeyPath);
  83. DWORD WriteToMD_AllowAnonymous_FTP(CString csKeyPath);
  84. DWORD WriteToMD_AnonymousUserName_FTP(int iUpgradeScenarioSoOnlyOverWriteIfAlreadyThere);
  85. DWORD WriteToMD_AnonymousUserName_WWW(int iUpgradeScenarioSoOnlyOverWriteIfAlreadyThere);
  86. int AddRequiredISAPI(CStringArray& arrayName,CStringArray& arrayPath,IN LPCTSTR szSection);
  87. BOOL ChkMdEntry_Exist(MDEntry *pMDEntry);
  88. DWORD WriteToMD_IWamUserName_WWW(void);
  89. DWORD WriteToMD_CustomError_Entry(CString csKeyPath, CString csCustomErrorDelimitedList);
  90. BOOL VerifyCustomErrors_WWW(CString csKeyPath);
  91. void VerifyAllCustomErrorsRecursive(const CString& csTheNode);
  92. void MoveOldHelpFilesToNewLocation(void);
  93. DWORD DeleteMDEntry(MDEntry *pMDEntry);
  94. void WriteToMD_ForceMetabaseToWriteToDisk(void);
  95. void VerifyMD_DefaultLoadFile_WWW(IN LPCTSTR szSection, CString csKeyPath);
  96. INT Register_iis_www_handleScriptMap(void);
  97. DWORD DoesAdminACLExist(CString csKeyPath);
  98. int ReOrderFiltersSpecial(int nArrayItems, CStringArray& arrayName, CString& csOrder);
  99. void AddFilter1ToFirstPosition(CString& csOrder,LPTSTR szFilter1);
  100. void AddFilter1AfterFilter2(CString& csOrder,LPTSTR szFilter1,LPTSTR szFilter2);
  101. void GetScriptMapListFromClean(ScriptMapNode *pList, IN LPCTSTR szSection);
  102. int RemoveMetabaseFilter(TCHAR * szFilterName, int iRemoveMetabaseNodes);
  103. DWORD WriteToMD_IDRegistration(CString csKeyPath);
  104. DWORD WriteToMD_AspCodepage(CString csKeyPath, DWORD dwValue, int iOverWriteAlways);
  105. DWORD WriteToMD_HttpCustom(CString csKeyPath, CString csData, int iOverWriteAlways);
  106. DWORD WriteToMD_EnableParentPaths_WWW(CString csKeyPath, BOOL bEnableFlag);
  107. void EnforceMaxConnections(void);
  108. DWORD WriteToMD_DwordEntry(CString csKeyPath,DWORD dwID,DWORD dwAttrib,DWORD dwUserType,DWORD dwTheData,INT iOverwriteFlag);
  109. int RemoveIncompatibleMetabaseFilters(CString csSectionName,int iRemoveMetabaseNodes);
  110. DWORD WriteToMD_RootKeyType(void);
  111. DWORD MDDumpAdminACL(CString csKeyPath);
  112. int DoesAppIsolatedExist(CString csKeyPath);
  113. HRESULT WINAPI Add_WWW_VDirW(WCHAR * pwszMetabasePath, WCHAR * pwszVDirName,WCHAR * pwszPhysicalPath, DWORD dwPermissions, DWORD iApplicationType);
  114. HRESULT WINAPI Add_WWW_VDirA(CHAR * pwszMetabasePath, CHAR * pwszVDirName,CHAR * pwszPhysicalPath, DWORD dwPermissions, DWORD iApplicationType);
  115. HRESULT WINAPI Remove_WWW_VDirW(WCHAR * pwszMetabasePath, WCHAR * pwszVDirName);
  116. HRESULT WINAPI Remove_WWW_VDirA(CHAR * pwszMetabasePath, CHAR * pwszVDirName);
  117. HRESULT AddVirtualDir(IMSAdminBase *pIMSAdminBase,WCHAR * pwszMetabasePath,WCHAR * pwszVDir,WCHAR * pwszPhysicalPath, DWORD dwPermissions, INT iApplicationType);
  118. HRESULT RemoveVirtualDir(IMSAdminBase *pIMSAdminBase,WCHAR * wszMetabaseKey,WCHAR * wszVDir);
  119. #endif // _MDENTRY_H_