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.
Provides an interface to implement returning the physical path for a user's home directory.
Syntax
interface IFtpHomeDirectoryProvider : IUknown
Methods
The following table lists the methods exposed by the IFtpHomeDirectoryProvider
interface.
Name | Definition |
---|---|
IFtpHomeDirectoryProvider::GetUserHomeDirectoryData Method | Returns the physical path of the home directory for a user. |
Example
The following code example illustrates using 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 |