ExpandEnvironmentStringsA 関数 (processenv.h)

環境変数の文字列を展開し、現在のユーザーに対して定義されている値に置き換えます。

特定のユーザーまたはシステムの環境ブロックを指定するには、 ExpandEnvironmentStringsForUser 関数を使用します。

構文

DWORD ExpandEnvironmentStringsA(
  [in]            LPCSTR lpSrc,
  [out, optional] LPSTR  lpDst,
  [in]            DWORD  nSize
);

パラメーター

[in] lpSrc

1 つ以上の環境変数文字列を %variableName% という形式で含むバッファー。 このような参照ごとに、%variableName% 部分はその環境変数の現在の値に置き換えられます。

環境変数名を調べている場合、大文字と小文字は無視されます。 名前が見つからない場合、%variableName% 部分は未入力のままです。

この関数は、Cmd.exe がサポートするすべての機能をサポートしているわけではないことに注意してください。 たとえば、%variableName:str1=str2% または %variableName:~offset,length% はサポートされていません

[out, optional] lpDst

lpSrc バッファー内の環境変数文字列を展開した結果を受け取るバッファーへのポインター。 このバッファーを lpSrc バッファーと同じにすることはできません。

[in] nSize

lpDst パラメーターが指すバッファーに格納できる最大文字数。 ANSI 文字列を使用する場合、バッファー サイズは文字列の長さと終端の null 文字に 1 を加えたものにする必要があります。 Unicode 文字列を使用する場合、バッファー サイズは文字列の長さに終端の null 文字を加えたものにする必要があります。

戻り値

関数が成功した場合、戻り値は、終端の null 文字を含む、宛先バッファーに格納されている TCHAR の 数です。 展開された文字列を保持するには、コピー先のバッファーが小さすぎる場合、戻り値は必要なバッファー サイズ (文字数) です。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

lpSrc バッファーと lpDst バッファーのサイズは 32K に制限されています。

完全修飾パス内のフォルダー名を、関連付けられた環境変数文字列に置き換えるには、 PathUnExpandEnvStrings 関数を使用します。

プロセスの環境変数の一覧を取得するには、 GetEnvironmentStrings 関数を 使用します。

例については、「 システム情報の取得」を参照してください。

注意

processenv.h ヘッダーは、ExpandEnvironmentStrings をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー processenv.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

環境変数

システム情報関数