IAppHostWritableAdminManager::CommitPath, propriété
Obtient ou définit le chemin de configuration où les modifications doivent être validées.
Syntaxe
HRESULT get_CommitPath(
[out,
retval,
string] BSTR* pbstrCommitPath
);
HRESULT put_CommitPath(
BSTR bstrCommitPath
);
Paramètres
pbstrCommitPath
Pointeur vers un BSTR
qui contient le chemin de configuration où les modifications doivent être validées.
bstrCommitPath
BSTR
qui contient le nouveau chemin de validation.
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 montre comment définir la CommitPath
propriété, modifier la configuration IIS 7, puis utiliser la méthode IAppHostWritableAdminManager::CommitChanges pour valider ces modifications dans le système de configuration IIS 7.
#pragma once
#include <stdio.h>
#include <string.h>
#include <ahadmin.h>
int main()
{
IAppHostWritableAdminManager * pWMgr = NULL;
IAppHostElement * pElement = NULL;
HRESULT hr = S_OK;
BSTR bstrConfigCommitPath = SysAllocString(L"MACHINE/WEBROOT/APPHOST");
BSTR bstrSectionName = SysAllocString(L"system.applicationHost/sites");
BSTR bstrConfigSource = SysAllocString(L"sites.config");
BSTR bstrConfigSourceAttr = SysAllocString(L"configSource");
VARIANT vtConfigSource;
vtConfigSource.vt = VT_BSTR;
vtConfigSource.bstrVal = bstrConfigSource;
// 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 instance\n" );
goto exit;
}
// Set the commit path
hr = pWMgr->put_CommitPath( bstrConfigCommitPath );
if ( FAILED( hr ) )
{
printf_s( "ERROR: Unable to set the configuration path" );
goto exit;
}
// Get the admin section
hr = pWMgr->GetAdminSection( bstrSectionName, bstrConfigCommitPath, &pElement );
if ( FAILED( hr ) || ( &pElement == 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 asp configuration section.\n" );
}
goto exit;
}
// Set the metadata
hr = pElement->SetMetadata( bstrConfigSourceAttr, vtConfigSource );
if ( FAILED( hr ) )
{
printf_s( "ERROR: Unable to set metadata\n" );
goto exit;
}
pWMgr->CommitChanges();
exit:
// Exiting / Unwinding
if ( pElement != NULL )
{
pElement -> Release ();
pElement = NULL;
}
if ( pWMgr != NULL )
{
pWMgr->Release();
pWMgr = NULL;
}
SysFreeString( bstrConfigCommitPath );
SysFreeString( bstrSectionName );
SysFreeString( bstrConfigSource );
SysFreeString( bstrConfigSourceAttr );
// 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 |