GetUserProfileDirectoryW 関数 (userenv.h)

指定したユーザーのプロファイルのルート ディレクトリへのパスを取得します。

構文

USERENVAPI BOOL GetUserProfileDirectoryW(
  [in]            HANDLE  hToken,
  [out, optional] LPWSTR  lpProfileDir,
  [in, out]       LPDWORD lpcchSize
);

パラメーター

[in] hToken

型: HANDLE

LogonUserCreateRestrictedTokenDuplicateTokenOpenProcessToken、または OpenThreadToken 関数によって返されるユーザーのトークン。 トークンにはTOKEN_QUERYアクセス権が必要です。 詳細については、「 Access-Token オブジェクトのアクセス権」を参照してください。

[out, optional] lpProfileDir

種類: LPTSTR

この関数が正常に戻ったときに、指定したユーザーのプロファイル ディレクトリへのパスを受け取るバッファーへのポインター。

[in, out] lpcchSize

型: LPDWORD

TCHARlpProfileDir バッファーのサイズを指定します。

lpProfileDir で指定されたバッファーが十分な大きさではない場合、または lpProfileDirNULL の場合、関数は失敗し、このパラメーターは終端の 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

関連項目

GetAllUsersProfileDirectory

GetDefaultUserProfileDirectory

GetProfilesDirectory

ユーザー プロファイルの概要

ユーザー プロファイル リファレンス