Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Returns the physical path of the home directory for a user.
Syntax
HRESULT GetUserHomeDirectoryData(
LPWSTR pszSessionId,
LPWSTR pszSiteName,
LPWSTR pszUserName,
LPWSTR * ppszHomeDirectoryData
)
Parameters
Term | Definition |
---|---|
pszSessionId |
[IN] A pointer to a string that contains the session ID. |
pszSiteName |
[IN] A pointer to a string that contains the site name. |
pszUserName |
[IN] A pointer to a string that contains the user name. |
ppszHomeDirectoryData |
[OUT] A pointer to a string that will contain the physical path for the user. |
Return Value
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. |
Example
The following code example illustrates how to use the IFtpHomeDirectoryProvider
interface to create a custom home directory module for the FTP service that returns a specific home directory.
public:
STDMETHOD(GetUserHomeDirectoryData)(
LPWSTR pszSessionId,
LPWSTR pszSiteName,
LPWSTR pszUserName,
LPWSTR * ppszHomeDirectoryData)
{
// Note: You would add your own custom logic here.
HRESULT hr = S_OK;
WCHAR wszPath[MAX_PATH] = L"";
// Calculate the user's home directory based on their user name.
hr = StringCchPrintf(wszPath,_countof(wszPath),
L"\\\\?\\C:\\ftpusers\\%s",pszUserName);
// Return an error if a failure occurs.
if (FAILED(hr))
{
return hr;
}
// Allocate a block of memory for the user's home directory.
LPWSTR wszHomeDirectoryData =
(LPWSTR)CoTaskMemAlloc(_countof(wszPath) * sizeof(WCHAR));
// Return an error if a failure occurs.
if (wszHomeDirectoryData == NULL)
{
return E_OUTOFMEMORY;
}
// Copy the user's home directory into the memory block.
hr = StringCchCopy(wszHomeDirectoryData,
_countof(wszPath), wszPath);
// Return an error if a failure occurs.
if (FAILED(hr))
{
return hr;
}
// Return the user's home directory.
(*ppszHomeDirectoryData) = wszHomeDirectoryData;
return S_OK;
}
Requirements
Type | Description |
---|---|
Client | - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
Server | - 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 |
Reference | ftpext.tlb |