Partager via


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

Voir aussi

IAppHostWritableAdminManager, interface