Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Gets metadata values from the IIS 7 configuration system.
Syntax
HRESULT GetMetadata(
[in,
string] BSTR bstrMetadataType,
[out,
retval] VARIANT* pValue
);
Parameters
bstrMetadataType
A BSTR
that contains the name of the metadata being requested.
pValue
A pointer to a VARIANT
that contains the value of the requested metadata.
Return Value
An HRESULT
. Possible values include, but are not limited to, those in the following table.
Value | Description |
---|---|
S_OK | Indicates that the operation was successful. |
ERROR_NOT_SUPPORTED | Indicates that the requested metadata is not supported. |
Example
The following code example retrieves the availableSections
metadata from the configuration schema by using the IAppHostAdminManager::GetMetadata
method.
#pragma once
#include <stdio.h>
#include <string.h>
#include <ahadmin.h>
int main()
{
IAppHostAdminManager * pMgr = NULL;
HRESULT hr = S_OK;
BSTR bstrMetadataName = SysAllocString( L"availableSections" );
VARIANT vtAvailableSections;
// 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 instance\n" );
goto exit;
}
// Get the metadata
hr = pMgr->GetMetadata( bstrMetadataName, &vtAvailableSections );
if ( FAILED( hr ) )
{
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 the requested metadata.\n" );
}
goto exit;
}
// Metadata returns in a comma-delimited string.
// Split the data and return the sections one line at a time.
wchar_t* wcMetadata = static_cast<wchar_t*>(vtAvailableSections.bstrVal);
wchar_t delim[] = L",";
wchar_t* tokenIn = NULL;
wchar_t* tokenOut = NULL;
tokenIn = wcstok_s( wcMetadata, delim, &tokenOut );
while ( tokenIn != NULL )
{
wprintf_s( L"\t%s\n", tokenIn );
tokenIn = wcstok_s( NULL, delim, &tokenOut);
}
exit:
// Exiting / Unwinding
if ( pMgr != NULL )
{
pMgr->Release();
pMgr = NULL;
}
SysFreeString( bstrMetadataName );
// Uninitialize
CoUninitialize();
return 0;
};
Requirements
Type | Description |
---|---|
Client | - IIS 7.0 on Windows Vista - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
Server | - IIS 7.0 on Windows Server 2008 - IIS 7.5 on Windows Server 2008 R2 - IIS 8.0 on Windows Server 2012 - IIS 8.5 on Windows Server 2012 R2 - IIS 10.0 on Windows Server 2016 |
Product | - 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 |