| title | IScriptMapInfo::GetRequiredAccess Method |
|---|---|
| description | IScriptMapInfo::GetRequiredAccess Method retrieves the required-access setting for the script processor. |
| ms.date | 10/07/2016 |
| ms.assetid | 05d6d12c-ab7b-aa07-63ce-d3e061fe0057 |
Retrieves the required-access setting for the script processor.
virtual DWORD GetRequiredAccess(
VOID
) const = 0; This method takes no parameters.
A DWORD that contains the required-access setting for the script processor.
The GetRequiredAccess method retrieves the requireAccess attribute for a request handler that is located in the <handlers> section of the ApplicationHost.config file. This attribute contains the type of access (for example, read, write, and so on) that the request handler requires. The following values for the required-access setting are defined in the Schema.xml file for IIS:
<attribute name="requireAccess" type="enum" defaultValue="Script">
<enum name="None" value="0" />
<enum name="Read" value="1" />
<enum name="Write" value="2" />
<enum name="Script" value="3" />
<enum name="Execute" value="4" />
</attribute>
For example, when a client requests a file that is processed by the static file handler, the required-access value is 1, because the static file handler requires read-only access by default. A request for an Internet Server API (ISAPI) DLL, however, will return a value of 4, because execute access is required.
The following code example demonstrates how to use the IHttpContext::GetScriptMap method to create an HTTP module that retrieves a pointer to an IScriptMapInfo interface. The example then uses the GetRequiredAccess method to retrieve the required-access setting for the request handler that is processing the current request. The module converts the required-access setting to a string, returns the string to a Web client, and then exits.
[!code-cppIScriptMapInfoGetRequiredAccess#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 |