| title | IHttpApplication::GetApplicationPhysicalPath Method |
|---|---|
| description | Learn how the IHttpApplication::GetApplicationPhysicalPath method retrieves the physical path of the application for the current request. |
| ms.date | 10/07/2016 |
| ms.assetid | 37b28860-40de-f634-8988-5a41dced203d |
Retrieves the physical path of the application for the current request.
virtual PCWSTR GetApplicationPhysicalPath(
VOID
) const = 0; This method takes no parameters.
A pointer to a string that contains the physical path for the application.
The GetApplicationPhysicalPath method returns the physical path for the root folder of the application that is processing the current request. For example, requests for the default Web site on a server running [!INCLUDEiisver] will usually return the C:\Inetpub\Wwwroot location.
This path is not always the same folder path as the current request. For example, if a Web client requests both http://example.com/ and http://example.com/example/, these paths may be respectively located at C:\Inetpub\Wwwroot and C:\Inetpub\Wwwroot\Example. However, the GetApplicationPhysicalPath method will return only the C:\Inetpub\Wwwroot path for both requests if an application has not been created for the C:\Inetpub\Wwwroot\Example path.
The following code example demonstrates how to use the GetApplicationPhysicalPath method to create an HTTP module that retrieves the physical path for the current request and returns the path to a Web client.
[!code-cppIHttpApplicationGetApplicationPhysicalPath#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 |