PathCchCombineEx 函式 (pathcch.h)
將兩個路徑片段合併成單一路徑。 此函式也會正式化任何相對路徑專案,移除 “.” 和 “..” 元素,以簡化最終路徑。
此函式與 PathCchCombine 不同,因為它允許建構較長的最終路徑。
此函式與 PathAllocCombine 不同,因為呼叫端必須宣告儲存在堆疊上的傳回字串大小。
此函式與 PathCombine 不同,因為它接受具有 “\”、“\?” 和 “\?\UNC” 前置詞的路徑。
語法
WINPATHCCHAPI HRESULT PathCchCombineEx(
[out] PWSTR pszPathOut,
[in] size_t cchPathOut,
[in, optional] PCWSTR pszPathIn,
[in, optional] PCWSTR pszMore,
[in] ULONG dwFlags
);
參數
[out] pszPathOut
緩衝區的指標,當此函式成功傳回時,會收到合併的路徑字串。 此參數可以指向 與 pszPathIn 或 pszMore 相同的緩衝區。
[in] cchPathOut
pszPathOut 所指向的緩衝區大小,以字元為單位。
[in, optional] pszPathIn
第一個路徑字串的指標。 此值可以是 NULL。
[in, optional] pszMore
第二個路徑字串的指標。 如果此路徑以單一反斜杠開頭,則只會結合 pszPathIn 指向之路徑的根目錄。 如果此路徑為完整路徑,則會直接複製到輸出緩衝區,而不會與其他路徑結合。 此值可以是 NULL。
[in] dwFlags
下列一或多個旗標:
傳回值
此函式會傳回 HRESULT 程式代碼,包括下列專案。
傳回碼 | 描述 |
---|---|
|
此函數已成功。 請注意,這也包含空白延伸模組的大小寫,例如句號,其後沒有字元。 在此情況下,原始字串會傳回未變更。 |
|
此值可能是由數件事所造成,例如 將 pszPathOut 參數設定為 NULL,或 將 cchPathOut 值設定為 0 或大於 PATHCCH_MAX_CCH 的值。 |
|
函式無法配置足夠的記憶體來執行作業。 |
|
原始路徑的大小超過 PATHCCH_MAX_CCH 。 |
備註
如果 pszPathIn 和 pszMore 都是 NULL 或指向空字串,則會將單一反斜杠複製到 pszPathOut 指向的緩衝區。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | pathcch.h |
程式庫 | Pathcch.lib |