ExpandEnvironmentStringsForUserA 関数 (userenv.h)
指定したユーザーに対して確立された環境ブロックを使用して、ソース文字列を展開します。
構文
USERENVAPI BOOL ExpandEnvironmentStringsForUserA(
[in, optional] HANDLE hToken,
[in] LPCSTR lpSrc,
[out] LPSTR lpDest,
[in] DWORD dwSize
);
パラメーター
[in, optional] hToken
型: HANDLE
LogonUser、CreateRestrictedToken、DuplicateToken、OpenProcessToken、または OpenThreadToken 関数から返されるユーザーのトークン。 トークンには、TOKEN_IMPERSONATEとTOKEN_QUERYアクセス権が必要です。 さらに、Windows 7 の時点で、トークンにはTOKEN_DUPLICATEアクセス権も必要です。 詳細については、「 Access-Token オブジェクトのアクセス権」を参照してください。
hToken が NULL の場合、環境ブロックにはシステム変数のみが含まれます。
[in] lpSrc
種類: LPCTSTR
展開する null で終わるソース文字列へのポインター。
[out] lpDest
種類: LPTSTR
展開された文字列を受け取るバッファーへのポインター。
[in] dwSize
型: DWORD
TCHAR で lpDest バッファーのサイズを指定します。
戻り値
種類: BOOL
成功した場合は TRUE。それ以外の場合は FALSE。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
ソース文字列の例を次に示します。
%USERPROFILE%\ntuser.dat
ExpandEnvironmentStringsForUser が返されると、変換先の文字列は次のように展開されます。
C:\Documents and Settings\UserName\ntuser.dat
注意
userenv.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ExpandEnvironmentStringsForUser を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | userenv.h |
Library | Userenv.lib |
[DLL] | Userenv.dll |