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 |
Library | Pathcch.lib |