Bagikan melalui


Properti IAppHostWritableAdminManager::CommitPath

Mendapatkan atau mengatur jalur konfigurasi tempat perubahan harus dilakukan.

Sintaks

HRESULT get_CommitPath(  
   [out,  
   retval,  
   string] BSTR* pbstrCommitPath  
);  
HRESULT put_CommitPath(  
   BSTR bstrCommitPath  
);  

Parameter

pbstrCommitPath
Penunjuk ke yang BSTR berisi jalur konfigurasi tempat perubahan harus dilakukan.

bstrCommitPath
BSTR yang berisi jalur penerapan baru.

Tampilkan Nilai

Sebuah HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Nilai Deskripsi
S_OK Menunjukkan bahwa operasi berhasil.

Contoh

Contoh kode berikut menunjukkan cara mengatur CommitPath properti, mengubah konfigurasi IIS 7, lalu menggunakan metode IAppHostWritableAdminManager::CommitChanges untuk menerapkan perubahan tersebut ke sistem konfigurasi 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;
};

Persyaratan

Jenis Deskripsi
Klien - IIS 7.0 di Windows Vista
- IIS 7.5 di Windows 7
- IIS 8.0 di Windows 8
- IIS 10.0 pada Windows 10
Server - IIS 7.0 di Windows Server 2008
- IIS 7.5 di Windows Server 2008 R2
- IIS 8.0 di Windows Server 2012
- IIS 8.5 di Windows Server 2012 R2
- IIS 10.0 di Windows Server 2016
Produk - 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

Lihat juga

Antarmuka IAppHostWritableAdminManager