Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |