Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ajoute un nouveau groupe de sections de configuration imbriqué sous le groupe de sections de configuration actuel.
Syntaxe
HRESULT AddSectionGroup(
[in,
string] BSTR bstrSectionGroupName,
[out,
retval] IAppHostSectionGroup** ppSectionGroup
);
Paramètres
bstrSectionGroupName
BSTR qui contient le nom du nouveau groupe de sections à ajouter.
ppSectionGroup
Pointeur vers un pointeur pour l’interface IAppHostSectionGroup nouvellement créée.
Valeur renvoyée
Élément HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
| Valeur | Description |
|---|---|
| S_OK | Indique que l’opération a réussi. |
Exemple
L’exemple de code suivant crée un groupe de sections et une nouvelle section, puis définit les valeurs de propriété de la section nouvellement générée.
#pragma once
#include <stdio.h>
#include <string.h>
#include <ahadmin.h>
int main()
{
IAppHostWritableAdminManager * pWMgr = NULL;
IAppHostElement * pParentElem = NULL;
IAppHostPropertyCollection * pElemProps = NULL;
IAppHostProperty * pElemProp = NULL;
HRESULT hr = S_OK;
BSTR bstrConfigCommitPath = SysAllocString( L"MACHINE/WEBROOT/APPHOST" );
BSTR bstrSectionName = SysAllocString( L"system.webServer/defaultDocument" );
BSTR bstrPropertyName = SysAllocString( L"enabled" );
VARIANT vtValue;
vtValue.vt = VT_BOOL;
vtValue.boolVal = VARIANT_FALSE;
VARIANT vtPropertyName;
vtPropertyName.vt = VT_BSTR;
vtPropertyName.bstrVal = bstrPropertyName;
// 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;
}
wprintf_s( L"Setting CommitPath: %s\n", bstrConfigCommitPath );
pWMgr->put_CommitPath( bstrConfigCommitPath );
if( FAILED( hr ) )
{
printf_s( "ERROR: Unable to set the commit path" );
goto exit;
}
// Get the admin section
wprintf_s( L"Getting section: %s\n", bstrSectionName );
hr = pWMgr->GetAdminSection( bstrSectionName, bstrConfigCommitPath, &pParentElem );
if ( FAILED( hr ) || ( &pParentElem == 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 configuration section.\n" );
}
goto exit;
}
// Get the property collection
printf_s( "Getting property collection\n" );
hr = pParentElem->get_Properties( &pElemProps );
if ( FAILED ( hr ) || ( &pElemProps == NULL ) )
{
wprintf_s( L"ERROR: Unable to access attributes %s\n", bstrSectionName );
goto exit;
}
// Get the property instance
wprintf_s ( L"Getting property: %s\n", bstrPropertyName );
hr = pElemProps->get_Item( vtPropertyName, &pElemProp );
if ( FAILED( hr ) || ( pElemProp == NULL ) )
{
wprintf_s( L"ERROR: Unable to access attribute: %s\n", bstrPropertyName );
goto exit;
}
// Set the property value
wprintf_s( L"Setting property: %s to %s\n", bstrPropertyName,
( vtValue.boolVal == VARIANT_TRUE ? L"true" : L"false" ) );
hr = pElemProp->put_Value( vtValue );
if ( FAILED( hr ) )
{
wprintf_s( L"ERROR: Unable to set attribute value: %s\n", bstrPropertyName );
goto exit;
}
// Commit the changes to the configuration system
hr = pWMgr->CommitChanges();
if( FAILED( hr ) )
{
printf_s( "ERROR: Unable to commit the changes to the configuration system" );
}
exit:
// Exiting / Unwinding
if ( pElemProp != NULL )
{
pElemProp->Release();
pElemProp = NULL;
}
if ( pElemProps != NULL )
{
pElemProps->Release();
pElemProps = NULL;
}
if ( pParentElem != NULL )
{
pParentElem->Release();
pParentElem = NULL;
}
if ( pWMgr != NULL )
{
pWMgr->Release();
pWMgr = NULL;
}
SysFreeString( bstrPropertyName );
SysFreeString( bstrConfigCommitPath );
SysFreeString( bstrSectionName );
// Uninitialize
CoUninitialize();
return 0;
};
Spécifications
| Type | Description |
|---|---|
| Client | - IIS 7.0 sur Windows Vista - IIS 7.5 sur Windows 7 - IIS 8.0 sur Windows 8 - IIS 10.0 sur Windows 10 |
| Serveur | - IIS 7.0 sur Windows Server 2008 - IIS 7.5 sur Windows Server 2008 R2 - IIS 8.0 sur Windows Server 2012 - IIS 8.5 sur Windows Server 2012 R2 - IIS 10.0 sur Windows Server 2016 |
| Produit | - 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 |
| En-tête | Ahadmin.h |