Share via


ExpandEnvironmentStringsA 函式 (processenv.h)

展開環境變數字串,並將其取代為目前用戶定義的值。

若要指定特定使用者或系統的環境區塊,請使用 ExpandEnvironmentStringsForUser 函 式。

語法

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

參數

[in] lpSrc

緩衝區,包含格式為 %variableName% 的一或多個環境變數字串。 針對每個這類參考,%variableName% 部分會取代為該環境變數的目前值。

查閱環境變數名稱時,會忽略大小寫。 如果找不到名稱,%variableName% 部分會保留未展開。

請注意,此函式不支援 Cmd.exe 支援的所有功能。 例如,它不支援 %variableNamestr1=str2% 或 %variableName:~offset,length%。

[out, optional] lpDst

緩衝區的指標,接收 在 lpSrc 緩衝區中展開環境變數字串的結果。 請注意,這個緩衝區不能與 lpSrc 緩衝區相同。

[in] nSize

可以儲存在 lpDst 參數所指向緩衝區的最大字元數。 使用 ANSI 字串時,緩衝區大小應該是字串長度,加上終止 Null 字元,再加上一個。 使用 Unicode 字串時,緩衝區大小應該是字串長度加上終止 Null 字元。

傳回值

如果函式成功,傳回值就是儲存在目的地緩衝區中的 TCHAR 數目,包括終止的 Null 字元。 如果目的地緩衝區太小而無法保存展開的字串,則傳回值會是所需的緩衝區大小,以字元為單位。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

lpSrclpDst 緩衝區的大小限製為 32K。

若要以其相關聯的環境變數字串取代完整路徑中的資料夾名稱,請使用 PathUnExpandEnvStrings 函式。

若要擷取進程的環境變數清單,請使用 GetEnvironmentStrings 函 式。

範例

如需範例,請參閱 取得系統資訊

注意

processenv.h 標頭會將 ExpandEnvironmentStrings 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 processenv.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

環境變數

系統資訊函式