GetUserProfileDirectoryW 関数 (userenv.h)
指定したユーザーのプロファイルのルート ディレクトリへのパスを取得します。
構文
USERENVAPI BOOL GetUserProfileDirectoryW(
[in] HANDLE hToken,
[out, optional] LPWSTR lpProfileDir,
[in, out] LPDWORD lpcchSize
);
パラメーター
[in] hToken
型: HANDLE
LogonUser、CreateRestrictedToken、DuplicateToken、OpenProcessToken、または OpenThreadToken 関数によって返されるユーザーのトークン。 トークンにはTOKEN_QUERYアクセス権が必要です。 詳細については、「 Access-Token オブジェクトのアクセス権」を参照してください。
[out, optional] lpProfileDir
種類: LPTSTR
この関数が正常に戻ったときに、指定したユーザーのプロファイル ディレクトリへのパスを受け取るバッファーへのポインター。
[in, out] lpcchSize
型: LPDWORD
TCHAR で lpProfileDir バッファーのサイズを指定します。
lpProfileDir で指定されたバッファーが十分な大きさではない場合、または lpProfileDir が NULL の場合、関数は失敗し、このパラメーターは終端の null 文字を含む必要なバッファー サイズを受け取ります。
戻り値
種類: BOOL
成功した場合は TRUE。それ以外の場合は FALSE。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
Windows XP の GetUserProfileDirectory によって返されるパスの例を次に示します。
C:\Documents and Settings\Joe
Windows 7 の GetUserProfileDirectory によって返されるパスの例を次に示します。
C:\Users\Joe
このディレクトリのサブディレクトリのパスを取得するには、 SHGetFolderPath (Windows XP 以前) または SHGetKnownFolderPath (Windows Vista) 関数を使用します。
注意
userenv.h ヘッダーは、GetUserProfileDirectory をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | userenv.h |
Library | Userenv.lib |
[DLL] | Userenv.dll |