次の方法で共有


ExpandEnvironmentStringsForUserA 関数 (userenv.h)

指定したユーザーに対して確立された環境ブロックを使用して、ソース文字列を展開します。

構文

USERENVAPI BOOL ExpandEnvironmentStringsForUserA(
  [in, optional] HANDLE hToken,
  [in]           LPCSTR lpSrc,
  [out]          LPSTR  lpDest,
  [in]           DWORD  dwSize
);

パラメーター

[in, optional] hToken

型: HANDLE

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

hTokenNULL の場合、環境ブロックにはシステム変数のみが含まれます。

[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

こちらもご覧ください

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

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