Skip to content

Latest commit

 

History

History
58 lines (40 loc) · 4.34 KB

ihttpcontext-getmetadata-method.md

File metadata and controls

58 lines (40 loc) · 4.34 KB
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

IHttpContext::GetMetadata Method

Retrieves the metadata container for the current request context.

Syntax

virtual IMetadataInfo* GetMetadata(  
   VOID  
) = 0;  

Parameters

This method takes no parameters.

Return Value

A pointer to an IMetadataInfo interface.

Remarks

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.

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.

[!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.

Requirements

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

See Also

IHttpContext Interface