IAppHostAdminManager::SetMetadata (Método)
Establece valores de metadatos en el sistema de configuración de IIS 7.
Sintaxis
HRESULT SetMetadata(
[in,
string] BSTR bstrMetadataType,
[in] VARIANT value
);
Parámetros
bstrMetadataType
que BSTR
contiene el nombre de los metadatos que se establecen.
value
que VARIANT
contiene los nuevos metadatos.
Valor devuelto
Una clase HRESULT
. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Valor | Descripción |
---|---|
S_OK | Indica que la operación se realizó correctamente. |
ERROR_NOT_SUPPORTED | Indica que no se admiten los metadatos que se establecen. |
Ejemplo
En el ejemplo de código siguiente se establece un configSource
atributo para la system.applicationHost/sites
sección mediante el IAppHostAdminManager::SetMetadata
método .
#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;
};
Requisitos
Tipo | Descripción |
---|---|
Remoto | - IIS 7.0 en Windows Vista - IIS 7.5 en Windows 7 - IIS 8.0 en Windows 8 - IIS 10.0 en Windows 10 |
Servidor | - IIS 7.0 en Windows Server 2008 - IIS 7.5 en Windows Server 2008 R2 - IIS 8.0 en Windows Server 2012 - IIS 8.5 en Windows Server 2012 R2 - IIS 10.0 en Windows Server 2016 |
Producto | - 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 |
Encabezado | Ahadmin.h |