PathCchCombine 函式 (pathcch.h)
將兩個路徑片段合併成單一路徑。 此函式也會正式化任何相對路徑專案,移除 “.” 和 “..” 元素,以簡化最終路徑。
此函式與 PathCchCombineEx 不同,因為您限制為長度為MAX_PATH的最終路徑。
此函式與 PathAllocCombine 不同,因為呼叫端必須宣告儲存在堆疊上的傳回字串大小。
此函式與 PathCombine 不同,因為它接受具有 “\”、“\?” 和 “\?\UNC” 前置詞的路徑。
語法
WINPATHCCHAPI HRESULT PathCchCombine(
[out] PWSTR pszPathOut,
[in] size_t cchPathOut,
[in, optional] PCWSTR pszPathIn,
[in, optional] PCWSTR pszMore
);
參數
[out] pszPathOut
緩衝區的指標,當此函式成功傳回時,會收到合併的路徑字串。 此參數可以指向 與 pszPathIn 或 pszMore 相同的緩衝區。
[in] cchPathOut
pszPathOut 所指向的緩衝區大小,以字元為單位。
[in, optional] pszPathIn
第一個路徑字串的指標。 此值可以是 NULL。
[in, optional] pszMore
第二個路徑字串的指標。 如果此路徑以單一反斜杠開頭,則只會結合 pszPathIn 指向之路徑的根目錄。 如果此路徑為完整路徑,則會直接複製到輸出緩衝區,而不會與其他路徑結合。 此值可以是 NULL。
傳回值
此函式會傳回 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 |