Windows-Server-2003/inetsrv/iis/setup/osrc/mdentry.h

150 lines
6.6 KiB
C
Raw Normal View History

2024-08-04 01:28:15 +02:00
#ifndef _MDENTRY_H_
#define _MDENTRY_H_
#define METABASE_USE_DEFAULT 0xFFFFFFFF
class CDWord : public CObject
{
protected:
DWORD m_dwData;
public:
CDWord(DWORD dwData) { m_dwData = dwData; }
~CDWord() {};
operator DWORD () { return m_dwData; }
};
// fMigrate, fKeepOldReg, hRegRootKey, szRegSubKey, szRegValueName,
// szMDPath, dwMDId, dwMDAttr, dwMDuType, dwMDdType, dwMDDataLen, szMDData
typedef struct _MDEntry {
LPTSTR szMDPath;
DWORD dwMDIdentifier;
DWORD dwMDAttributes;
DWORD dwMDUserType;
DWORD dwMDDataType;
DWORD dwMDDataLen;
LPBYTE pbMDData;
} MDEntry;
DWORD atodw(LPCTSTR lpszData);
BOOL SplitLine(LPTSTR szLine, INT iExpectedNumOfFields);
INT GetMDEntryFromInfLine(LPTSTR szLine, MDEntry *pMDEntry);
int WWW_Upgrade_RegToMetabase(HINF hInf);
int FTP_Upgrade_RegToMetabase(HINF hInf);
void CreateWWWVRMap(CMapStringToOb *pMap);
void CreateFTPVRMap(CMapStringToOb *pMap);
void EmptyMap(CMapStringToOb *pMap);
void AddVRootsToMD(LPCTSTR szSvcName);
void AddVRMapToMD(LPCTSTR szSvcName, CMapStringToOb *pMap);
int GetPortNum(LPCTSTR szSvcName);
void ApplyGlobalToMDVRootTree(CString csKeyPath, CMapStringToString *pGlobalObj);
void AddMDVRootTree(CString csKeyPath, CString csName, CString csValue, LPCTSTR pszIP, UINT nProgressBarTextWebInstance);
void CreateMDVRootTree(CString csKeyPath, CString csName, CString csValue, LPCTSTR pszIP);
void SplitVRString(CString csValue, LPTSTR szPath, LPTSTR szUserName, DWORD *pdwPerm);
UINT GetInstNumber(LPCTSTR szMDPath, UINT i);
int MigrateInfSectionToMD(HINF hInf, LPCTSTR szSection);
BOOL CreateMimeMapFromRegistry(CMapStringToString *pMap);
BOOL CreateMimeMapFromInfSection(CMapStringToString *pMap, HINF hFile, LPCTSTR szSection);
void ReadMimeMapFromInfSection(CMapStringToString *pMap, HINF hFile, LPCTSTR szSection, BOOL fAction);
void SetLogPlugInOrder(LPCTSTR lpszSvc);
DWORD GetSizeBasedOnMetaType(DWORD dwDataType,LPTSTR szString);
BOOL MDEntry_MoveValue(LPTSTR szLine);
void ReadMultiSZFromInfSection(CString *pcsMultiSZ, HINF hFile, LPCTSTR szSection);
void ReadMimeMapFromMetabase(CMapStringToString *pMap);
void IntegrateNewErrorsOnUpgrade( IN HINF hFile, IN LPCTSTR szSection );
BOOL ConfirmLocalHost(LPCTSTR lpszVirtServer);
void RemoveCannotDeleteVR( LPCTSTR pszService );
void UpdateVDCustomErrors();
DWORD UpgradeCryptoKeys(void);
DWORD SetMDEntry(MDEntry *pMDEntry);
DWORD SetMDEntry_NoOverWrite(MDEntry *pMDEntry);
DWORD SetMDEntry_Wrap(MDEntry *pMDEntry);
void UpgradeFilters(CString csTheSection);
DWORD VerifyMD_Filters_WWW(TSTR &strTheSection);
DWORD WriteToMD_Filters_WWW(TSTR &strTheSection);
DWORD WriteToMD_Filters_List_Entry(CString csOrder);
DWORD WriteToMD_Filter_Entry(CString csFilter_Name, CString csFilter_Path);
BOOL VerifyMD_InProcessISAPIApps_WWW(IN LPCTSTR szSection);
DWORD WriteToMD_InProcessISAPIApps_WWW(IN LPCTSTR szSection);
DWORD WriteToMD_ISAPI_Entry( TSTR_MSZ &mstrInprocIsapiList );
DWORD WriteToMD_NTAuthenticationProviders_WWW(void);
DWORD VerifyMD_NTAuthenticationProviders_WWW(void);
DWORD WriteToMD_NTAuthenticationProviders_WWW(CString);
DWORD WriteToMD_Capabilities(LPCTSTR lpszSvc);
UINT AddVirtualServer( LPCTSTR szSvcName, UINT i, CMapStringToString *pObj, CString& csRoot, CString& csIP);
void CreateMDVRootTree(CString csKeyPath, CString csName, CString csValue, LPCTSTR pszIP, UINT nProgressBarTextWebInstance);
int VerifyVRoots(LPCTSTR szSvcName);
DWORD WriteToMD_CertMapper(CString csKeyPath);
DWORD WriteToMD_AdminInstance(CString csKeyPath,CString& csInstNumber);
DWORD WriteToMD_Authorization(CString csKeyPath, DWORD dwValue);
DWORD WriteToMD_IIsWebServerInstance_WWW(CString csKeyPath);
DWORD WriteToMD_NotDeleteAble(CString csKeyPath);
DWORD WriteToMD_ServerSize(CString csKeyPath);
DWORD WriteToMD_ServerComment(CString csKeyPath, UINT iCommentID);
DWORD WriteToMD_ServerBindings_HTMLA(CString csKeyPath, UINT iPort);
DWORD HandleSecurityTemplates(LPCTSTR szSvcName);
DWORD WriteToMD_IPsec_GrantByDefault(CString csKeyPath);
DWORD WriteToMD_HttpExpires(CString csData);
DWORD WriteToMD_AnonymousOnly_FTP(CString csKeyPath);
DWORD WriteToMD_AllowAnonymous_FTP(CString csKeyPath);
DWORD WriteToMD_AnonymousUserName_FTP(int iUpgradeScenarioSoOnlyOverWriteIfAlreadyThere);
DWORD WriteToMD_AnonymousUserName_WWW(int iUpgradeScenarioSoOnlyOverWriteIfAlreadyThere);
int AddRequiredISAPI(CStringArray& arrayName,CStringArray& arrayPath,IN LPCTSTR szSection);
BOOL ChkMdEntry_Exist(MDEntry *pMDEntry);
DWORD WriteToMD_IWamUserName_WWW(void);
DWORD WriteToMD_CustomError_Entry(CString csKeyPath, CString csCustomErrorDelimitedList);
BOOL VerifyCustomErrors_WWW(CString csKeyPath);
void MoveOldHelpFilesToNewLocation(void);
DWORD DeleteMDEntry(MDEntry *pMDEntry);
void WriteToMD_ForceMetabaseToWriteToDisk(void);
void VerifyMD_DefaultLoadFile_WWW(IN LPCTSTR szSection, CString csKeyPath);
INT Register_iis_www_handleScriptMap(void);
DWORD DoesAdminACLExist(CString csKeyPath);
int ReOrderFiltersSpecial(int nArrayItems, CStringArray& arrayName, CString& csOrder);
void AddFilter1ToFirstPosition(CString& csOrder,LPTSTR szFilter1);
void AddFilter1AfterFilter2(CString& csOrder,LPTSTR szFilter1,LPTSTR szFilter2);
void GetScriptMapListFromClean(ScriptMapNode *pList, IN LPCTSTR szSection);
int RemoveMetabaseFilter(TCHAR * szFilterName, int iRemoveMetabaseNodes);
DWORD WriteToMD_IDRegistration(CString csKeyPath);
DWORD WriteToMD_AspCodepage(CString csKeyPath, DWORD dwValue, int iOverWriteAlways);
DWORD WriteToMD_HttpCustom(CString csKeyPath, CString csData, int iOverWriteAlways);
DWORD WriteToMD_EnableParentPaths_WWW(CString csKeyPath, BOOL bEnableFlag);
void EnforceMaxConnections(void);
DWORD WriteToMD_DwordEntry(CString csKeyPath,DWORD dwID,DWORD dwAttrib,DWORD dwUserType,DWORD dwTheData,INT iOverwriteFlag);
int RemoveIncompatibleMetabaseFilters(LPTSTR szSectionName,int iRemoveMetabaseNodes);
DWORD WriteToMD_RootKeyType(void);
DWORD MDDumpAdminACL(CString csKeyPath);
int DoesAppIsolatedExist(CString csKeyPath);
HRESULT WINAPI Add_WWW_VDirW(WCHAR * pwszMetabasePath, WCHAR * pwszVDirName,WCHAR * pwszPhysicalPath, DWORD dwPermissions, DWORD iApplicationType);
HRESULT WINAPI Add_WWW_VDirA(CHAR * pwszMetabasePath, CHAR * pwszVDirName,CHAR * pwszPhysicalPath, DWORD dwPermissions, DWORD iApplicationType);
HRESULT WINAPI Remove_WWW_VDirW(WCHAR * pwszMetabasePath, WCHAR * pwszVDirName);
HRESULT WINAPI Remove_WWW_VDirA(CHAR * pwszMetabasePath, CHAR * pwszVDirName);
HRESULT AddVirtualDir(IMSAdminBase *pIMSAdminBase,WCHAR * pwszMetabasePath,WCHAR * pwszVDir,WCHAR * pwszPhysicalPath, DWORD dwPermissions, INT iApplicationType);
HRESULT RemoveVirtualDir(IMSAdminBase *pIMSAdminBase,WCHAR * wszMetabaseKey,WCHAR * wszVDir);
#endif // _MDENTRY_H_