Bagikan melalui


Antarmuka IAppHostPropertyCollection

Mewakili kumpulan properti.

Sintaks

interface IAppHostPropertyCollection : IUnknown  

Metode

Antarmuka ini tidak berisi metode.

Properti

Tabel berikut mencantumkan properti yang diekspos oleh IAppHostPropertyCollection antarmuka.

Properti Deskripsi
Menghitung Mendapatkan properti angka dalam koleksi.
Item Mendapatkan properti dengan indeks atau nama properti yang diminta dalam koleksi.

Contoh

Contoh kode berikut menunjukkan cara menggunakan IAppHostPropertyCollection antarmuka untuk mengakses enabled properti bagian defaultDocument konfigurasi.


#pragma once

#include <stdio.h>
#include <string.h>
#include <ahadmin.h>

int main()
{
    IAppHostAdminManager        * pMgr        = 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;
    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( AppHostAdminManager ), NULL, 
            CLSCTX_INPROC_SERVER,
            __uuidof( IAppHostAdminManager ), (void**) &pMgr );
    if( FAILED( hr ) )
    {
        printf_s( "ERROR: Unable to create an IAppHostAdminManager\n" );
        goto exit;
    }
    
    // Get the admin section
    hr = pMgr->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 child elements
    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 requested property
    hr = pElemProps->get_Item( vtPropertyName, &pElemProp );
    if ( FAILED( hr ) || ( pElemProp == NULL ) )
    {
        wprintf_s( L"ERROR: Unable to access attribute: %s\n", bstrPropertyName );
        goto exit;
    }

    // Get the property value
    hr = pElemProp->get_Value( &vtValue );
    if ( FAILED( hr ) )
    {    
        wprintf_s( L"ERROR: Unable to access attribute value: %s\n", bstrPropertyName );
        goto exit;
    }

    wprintf_s( L"defaultDocument is %sabled\n", 
        ( ( vtValue.boolVal == VARIANT_TRUE) ? L"en" : L"dis" ) ) ;
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 ( pMgr != NULL )
    {
        pMgr->Release(); 
        pMgr = NULL;
    }

    SysFreeString( bstrPropertyName );
    SysFreeString( bstrConfigCommitPath );
    SysFreeString( bstrSectionName );

    // Uninitialize
    CoUninitialize();

    return 0;
};

Hierarki Warisan

IUnknown

IAppHostPropertyCollection

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 Administrasi Host Aplikasi
Antarmuka IAppHostProperty