| title | IPreBeginRequestProvider::GetHttpContext Method |
|---|---|
| ms.date | 10/07/2016 |
| description | Learn how to retrieve an IHttpContext interface through a pointer, which allows global-level notifications access to the context for a request. |
| ms.assetid | a7903ec5-eff6-383f-8728-e70eee4ea783 |
Retrieves an IHttpContext interface.
virtual IHttpContext* GetHttpContext(
VOID
) = 0; This method takes no parameters.
A pointer to an IHttpContext.
The GetHttpContext method retrieves a pointer to an IHttpContext interface, which allows global-level notifications access to the context for a request. This is in contrast to request-level notifications, for which a pointer to an IHttpContext interface is provided.
The following code example demonstrates how to create a global-level HTTP module that uses the GetHttpContext function to retrieve a pointer to an IHttpContext interface. The module calls the context's IHttpContext::GetSite method to retrieve a pointer to an IHttpSite interface, and then calls the IHttpSite::GetSiteName method to retrieve the name of the site that is processing the request.
[!code-cppIPreBeginRequestProviderGetHttpContext#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 |