Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Commits configuration changes to the IIS 7 configuration system.
Syntax
HRESULT CommitChanges(
);
Parameters
This method takes no parameters.
Return Value
An HRESULT
. Possible values include, but are not limited to, those in the following table.
Value | Description |
---|---|
S_OK | Indicates that the operation was successful. |
Example
The following code example demonstrates how to change the configuration and then use the CommitChanges
method to commit those changes to the IIS 7 configuration system.
#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;
};
Requirements
Type | Description |
---|---|
Client | - IIS 7.0 on Windows Vista - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
Server | - IIS 7.0 on Windows Server 2008 - IIS 7.5 on Windows Server 2008 R2 - IIS 8.0 on Windows Server 2012 - IIS 8.5 on Windows Server 2012 R2 - IIS 10.0 on Windows Server 2016 |
Product | - 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 |