GetUserProfileDirectoryA 関数 (userenv.h)
指定したユーザーのプロファイルのルート ディレクトリへのパスを取得します。
構文
USERENVAPI BOOL GetUserProfileDirectoryA(
[in] HANDLE hToken,
[out, optional] LPSTR 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 ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetUserProfileDirectory を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | userenv.h |
Library | Userenv.lib |
[DLL] | Userenv.dll |