title | description | ms.date | ms.assetid |
---|---|---|---|
IHttpContext::GetMetadata Method |
Describes the IHttpContext::GetMetadata method and details its syntax, parameters, return value, remarks, code example, and requirements. |
10/07/2016 |
9d5031b5-474a-1bbd-87c5-fb6743568419 |
Retrieves the metadata container for the current request context.
virtual IMetadataInfo* GetMetadata(
VOID
) = 0;
This method takes no parameters.
A pointer to an IMetadataInfo interface.
The GetMetadata
method retrieves an IMetadataInfo
interface, which you use to retrieve information from an [!INCLUDEiisver] configuration file, for the current context. You can then use the GetMetaPath method from the IMetadataInfo
interface to retrieve the configuration path for the current request context.
The following code example demonstrates how to create an HTTP module that uses the GetMetadata
method to retrieve a pointer to an IMetadataInfo
interface. The module completes the following steps:
-
Uses the IMetadataInfo::GetMetaPath method to retrieve the configuration path for the current request.
-
Uses the IHttpServer::GetConfigObject method to retrieve a pointer to an INativeConfigurationSystem interface.
-
Passes the configuration path for the current request to the INativeConfigurationSystem::GetConfigSection method.
-
Retrieves an INativeConfigurationElement interface for the log settings for IIS.
-
Uses the INativeConfigurationElement::GetBooleanProperty method to retrieve a value that indicates whether logging is enabled for the current request context.
-
Returns this information to a Web client and then exits.
[!code-cppIHttpContextGetMetadata#1]
Your module must export the RegisterModule function. You can export this function by creating a module definition (.def) file for your project, or you can compile the module by using the /EXPORT:RegisterModule
switch. For more information, see Walkthrough: Creating a Request-Level HTTP Module By Using Native Code.
You can optionally compile the code by using the __stdcall (/Gz)
calling convention instead of explicitly declaring the calling convention for each function.
Type | Description |
---|---|
Client | - IIS 7.0 on [!INCLUDEwinvista] - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
Server | - IIS 7.0 on [!INCLUDEwinsrv2008] - 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 - [!INCLUDEiisexp75], [!INCLUDEiisexp80], [!INCLUDEiisexp100] |
Header | Httpserv.h |