aspnetcore/src/AspNetCoreModuleV1/IISLib/ahutil.h

258 lines
7.0 KiB
C

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
#pragma once
#include<Windows.h>
HRESULT
SetElementProperty(
IN IAppHostElement * pElement,
IN CONST WCHAR * szPropName,
IN CONST VARIANT * varPropValue
);
HRESULT
SetElementStringProperty(
IN IAppHostElement * pElement,
IN CONST WCHAR * szPropName,
IN CONST WCHAR * szPropValue
);
HRESULT
GetElementStringProperty(
IN IAppHostElement * pElement,
IN CONST WCHAR * szPropName,
OUT BSTR * pbstrPropValue
);
HRESULT
GetElementStringProperty(
IN IAppHostElement * pElement,
IN CONST WCHAR * szPropName,
OUT STRU * pstrPropValue
);
HRESULT
GetElementBoolProperty(
IN IAppHostElement * pElement,
IN LPCWSTR pszPropertyName,
OUT BOOL * pBool
);
HRESULT
GetElementBoolProperty(
IN IAppHostElement * pElement,
IN LPCWSTR pszPropertyName,
OUT bool * pBool
);
HRESULT
GetElementChildByName(
IN IAppHostElement * pElement,
IN LPCWSTR pszElementName,
OUT IAppHostElement ** ppChildElement
);
HRESULT
GetElementDWORDProperty(
IN IAppHostElement * pElement,
IN LPCWSTR pszPropertyName,
OUT DWORD * pdwValue
);
HRESULT
GetElementLONGLONGProperty(
IN IAppHostElement * pElement,
IN LPCWSTR pszPropertyName,
OUT LONGLONG * pllValue
);
HRESULT
GetElementRawTimeSpanProperty(
IN IAppHostElement * pElement,
IN LPCWSTR pszPropertyName,
OUT ULONGLONG * pulonglong
);
#define FIND_ELEMENT_CASE_SENSITIVE 0x00000000
#define FIND_ELEMENT_CASE_INSENSITIVE 0x00000001
HRESULT
DeleteElementFromCollection(
IAppHostElementCollection *pCollection,
CONST WCHAR * szKeyName,
CONST WCHAR * szKeyValue,
ULONG BehaviorFlags,
BOOL * pfDeleted
);
HRESULT
DeleteAllElementsFromCollection(
IAppHostElementCollection *pCollection,
CONST WCHAR * szKeyName,
CONST WCHAR * szKeyValue,
ULONG BehaviorFlags,
UINT * pNumDeleted
);
HRESULT
FindElementInCollection(
IAppHostElementCollection *pCollection,
CONST WCHAR * szKeyName,
CONST WCHAR * szKeyValue,
ULONG BehaviorFlags,
OUT ULONG * pIndex
);
HRESULT
VariantAssign(
IN OUT VARIANT * pv,
IN CONST WCHAR * sz
);
HRESULT
GetLocationFromFile(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
IN CONST WCHAR * szLocationPath,
OUT IAppHostConfigLocation ** ppLocation,
OUT BOOL * pFound
);
HRESULT
GetSectionFromLocation(
IN IAppHostConfigLocation * pLocation,
IN CONST WCHAR * szSectionName,
OUT IAppHostElement ** ppSectionElement,
OUT BOOL * pFound
);
HRESULT
GetAdminElement(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
IN CONST WCHAR * szElementName,
OUT IAppHostElement ** pElement
);
HRESULT
ClearAdminElement(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
IN CONST WCHAR * szElementName
);
HRESULT
ClearElementFromAllSites(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
IN CONST WCHAR * szElementName
);
HRESULT
ClearElementFromAllLocations(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
IN CONST WCHAR * szElementName
);
HRESULT
ClearLocationElements(
IN IAppHostConfigLocation * pLocation,
IN CONST WCHAR * szElementName
);
HRESULT
CompareElementName(
IN IAppHostElement * pElement,
IN CONST WCHAR * szNameToMatch,
OUT BOOL * pMatched
);
HRESULT
ClearChildElementsByName(
IN IAppHostChildElementCollection * pCollection,
IN CONST WCHAR * szElementName,
OUT BOOL * pFound
);
HRESULT
GetSitesCollection(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
OUT IAppHostElementCollection ** pSitesCollection
);
HRESULT
GetLocationCollection(
IN IAppHostAdminManager * pAdminMgr,
IN CONST WCHAR * szConfigPath,
OUT IAppHostConfigLocationCollection ** pLocationCollection
);
struct ENUM_INDEX
{
VARIANT Index;
ULONG Count;
};
HRESULT
FindFirstElement(
IN IAppHostElementCollection * pCollection,
OUT ENUM_INDEX * pIndex,
OUT IAppHostElement ** pElement
);
HRESULT
FindNextElement(
IN IAppHostElementCollection * pCollection,
IN OUT ENUM_INDEX * pIndex,
OUT IAppHostElement ** pElement
);
HRESULT
FindFirstChildElement(
IN IAppHostChildElementCollection * pCollection,
OUT ENUM_INDEX * pIndex,
OUT IAppHostElement ** pElement
);
HRESULT
FindNextChildElement(
IN IAppHostChildElementCollection * pCollection,
IN OUT ENUM_INDEX * pIndex,
OUT IAppHostElement ** pElement
);
HRESULT
FindFirstLocation(
IN IAppHostConfigLocationCollection * pCollection,
OUT ENUM_INDEX * pIndex,
OUT IAppHostConfigLocation ** pLocation
);
HRESULT
FindNextLocation(
IN IAppHostConfigLocationCollection * pCollection,
IN OUT ENUM_INDEX * pIndex,
OUT IAppHostConfigLocation ** pLocation
);
HRESULT
FindFirstLocationElement(
IN IAppHostConfigLocation * pLocation,
OUT ENUM_INDEX * pIndex,
OUT IAppHostElement ** pElement
);
HRESULT
FindNextLocationElement(
IN IAppHostConfigLocation * pLocation,
IN OUT ENUM_INDEX * pIndex,
OUT IAppHostElement ** pElement
);
HRESULT GetSharedConfigEnabled(
BOOL * pfIsSharedConfig
);