Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft eine IAppHostConfigManager-Schnittstelle ab, die zugriff auf die physischen Dateien im IIS 7-Konfigurationssystem ermöglicht.
Syntax
HRESULT get_ConfigManager(
[out,
retval] IAppHostConfigManager** ppConfigManager
);
Parameter
ppConfigManager
Ein Zeiger auf einen Zeiger für eine IAppHostConfigManager Schnittstelle.
Rückgabewert
HRESULT. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
| Wert | BESCHREIBUNG |
|---|---|
| S_OK | Gibt an, dass der Vorgang erfolgreich war. |
| HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER) | Gibt an, dass ppConfigManager NULL ist. |
| HRESULT_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY) | Gibt an, dass die Methode nicht genügend Arbeitsspeicher für den Rückgabewert zuweisen kann. |
Beispiel
Im folgenden Codebeispiel wird die Rolle der IAppHostConfigManager Schnittstelle beim Zugriff auf das Konfigurationssystem veranschaulicht.
#pragma once
#include <stdio.h>
#include <string.h>
#include <ahadmin.h>
int main()
{
HRESULT hr = S_OK;
IAppHostWritableAdminManager * pWMgr = NULL;
IAppHostConfigManager * pCfgMgr = NULL;
IAppHostConfigFile * pCfgFile = NULL;
IAppHostSectionGroup * pRtSctnGrp = NULL;
IAppHostSectionGroup * pSctnGrp = NULL;
IAppHostSectionDefinitionCollection * pSctnDefCol = NULL;
IAppHostSectionDefinition * pSctnDef = NULL;
BSTR bstrConfigCommitPath = SysAllocString(L"MACHINE/WEBROOT/APPHOST");
BSTR bstrSctnGrpName = SysAllocString(L"mySectionGroup");
BSTR bstrSctnName = SysAllocString(L"myNewSection");
BSTR bstrDeny = SysAllocString(L"Deny");
BSTR bstrAppHostOnly = SysAllocString(L"appHostOnly");
// Initialize
hr = CoInitializeEx( NULL, COINIT_MULTITHREADED );
if ( FAILED( hr ) )
{
printf_s ( "ERROR: Unable to initialize\n" );
goto exit;
}
// Create
hr = CoCreateInstance( __uuidof( AppHostWritableAdminManager ), NULL,
CLSCTX_INPROC_SERVER,
__uuidof( IAppHostWritableAdminManager ), (void**) &pWMgr );
if( FAILED( hr ) )
{
printf_s ( "ERROR: Unable to create an IAppHostWritableAdminManager\n" );
goto exit;
}
pWMgr -> put_CommitPath ( bstrConfigCommitPath );
// Get an IAppHostConfigManager
hr = pWMgr -> get_ConfigManager ( &pCfgMgr );
if ( FAILED( hr ) || ( &pCfgMgr == NULL ) )
{
printf_s ( "ERROR: Unable to get a config manager.\n" );
goto exit;
}
// Get an IAppHostConfigFile
hr = pCfgMgr -> GetConfigFile ( bstrConfigCommitPath, &pCfgFile );
if ( FAILED ( hr ) || ( &pCfgFile == NULL ) )
{
if ( E_ACCESSDENIED == hr )
{
printf_s ( "ERROR: Access to configuration denied.\n" );
printf_s ( " Run sample as an administrator.\n" );
}
else
{
printf_s ( "ERROR: Unable to get config file.\n" );
}
goto exit;
}
// Get the root section group
hr = pCfgFile -> get_RootSectionGroup ( &pRtSctnGrp );
if ( FAILED ( hr ) || ( &pRtSctnGrp == NULL ) )
{
printf_s ( "ERROR: Unable to access root section group\n" );
goto exit;
}
// Add a new section group
hr = pRtSctnGrp -> AddSectionGroup ( bstrSctnGrpName, &pSctnGrp );
if ( FAILED ( hr ) || ( &pSctnGrp == NULL ) )
{
printf_s ( "ERROR: Unable to add new section group\n" );
goto exit;
}
// Get the section collection
hr = pSctnGrp -> get_Sections ( &pSctnDefCol );
if ( FAILED ( hr ) || ( &pSctnDefCol == NULL ) )
{
printf_s ( "ERROR: Unable to access section collection\n" );
goto exit;
}
// Add the new section
hr = pSctnDefCol -> AddSection ( bstrSctnName, &pSctnDef );
if ( FAILED ( hr ) || ( &pSctnDef == NULL ) )
{
printf_s ( "ERROR: Unable to add new section\n" );
goto exit;
}
// Set the section attributes
pSctnDef -> put_OverrideModeDefault ( bstrDeny );
pSctnDef -> put_AllowDefinition ( bstrAppHostOnly );
// Commit the changes to the configuration system
pWMgr->CommitChanges ( );
exit:
// Exiting / Unwinding
if ( pRtSctnGrp != NULL )
{
pRtSctnGrp->Release();
pRtSctnGrp = NULL;
}
if ( pSctnGrp != NULL )
{
pSctnGrp->Release();
pSctnGrp = NULL;
}
if ( pSctnDefCol != NULL )
{
pSctnDefCol->Release();
pSctnDefCol = NULL;
}
if ( pSctnDef != NULL )
{
pSctnDef->Release();
pSctnDef = NULL;
}
if ( pCfgFile != NULL )
{
pCfgFile->Release();
pCfgFile = NULL;
}
if ( pCfgMgr != NULL )
{
pCfgMgr->Release();
pCfgMgr = NULL;
}
if ( pWMgr != NULL )
{
pWMgr->Release();
pWMgr = NULL;
}
SysFreeString( bstrConfigCommitPath );
SysFreeString( bstrSctnGrpName );
SysFreeString( bstrSctnName );
SysFreeString( bstrDeny );
SysFreeString( bstrAppHostOnly );
// Uninitialize
CoUninitialize();
return 0;
};
Anforderungen
| type | BESCHREIBUNG |
|---|---|
| Client | – IIS 7.0 unter Windows Vista – IIS 7.5 unter Windows 7 – IIS 8.0 unter Windows 8 – IIS 10.0 auf Windows 10 |
| Server | – IIS 7.0 unter Windows Server 2008 – IIS 7.5 unter Windows Server 2008 R2 – IIS 8.0 unter Windows Server 2012 – IIS 8.5 unter Windows Server 2012 R2 – IIS 10.0 auf Windows Server 2016 |
| Produkt | – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
| Header | Ahadmin.h |