| title | IHttpContext::MapHandler Method |
|---|---|
| description | Describes the IHttpContext::MapHandler method and provides the method's syntax, parameters, return value, remarks, an example, and requirements. |
| ms.date | 10/07/2016 |
| ms.assetid | 0903f587-51b1-4eb2-a38e-3c4b11c6c31a |
Maps a handler for the specified URL and HTTP verb on a site.
virtual HRESULT MapHandler(
DWORD dwSiteId,
PCWSTR pszSiteName,
PCWSTR pszUrl,
PCSTR pszVerb,
IScriptMapInfo ** ppScriptMap,
BOOL fIgnoreWildcardMappings
) = 0; dwSiteId
[IN] The ID of the site that contains the URL for mapping.
pszSiteName
[IN] A pointer to a string that contains the site name for the target URL.
pszUrl
[IN] A pointer to a string that contains the relative URL for mapping.
pszVerb
[IN] A pointer to a string that contains the HTTP verb for mapping.
ppScriptMap
[OUT] A pointer to the IScriptMapInfo interface that contains details for the selected script map.
fIgnoreWildcardMappings
[IN] true to ignore wildcard mapping; otherwise, false.
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_ENOUGH_MEMORY | Indicates that there is insufficient memory to perform the operation. |
The IScriptMapInfo interface is valid to use for the lifetime of the IHttpContext interface.
The following code example demonstrates how to use the MapHandler method to create an HTTP module that returns.
[!code-cppIHttpContextMapHandler#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 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 |