IHttpContext::GetMetadata Method

IIS 7.0
 

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 IIS 7 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.

Example

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:

  1. Uses the IMetadataInfo::GetMetaPath method to retrieve the configuration path for the current request.

  2. Uses the IHttpServer::GetConfigObject method to retrieve a pointer to an INativeConfigurationSystem interface.

  3. Passes the configuration path for the current request to the INativeConfigurationSystem::GetConfigSection method.

  4. Retrieves an INativeConfigurationElement interface for the log settings for IIS.

  5. Uses the INativeConfigurationElement::GetBooleanProperty method to retrieve a value that indicates whether logging is enabled for the current request context.

  6. Returns this information to a Web client and then exits.

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.

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 Technical Preview

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

Httpserv.h

Show: