PathCchAddExtension 函数 (pathcch.h)

将文件扩展名添加到路径字符串。

此函数不同于 PathAddExtension ,因为它接受带有“\”、“\?”和“\?\UNC”前缀的路径。

注意 应使用此函数代替 PathAddExtension ,以防止缓冲区溢出的可能性。

语法

WINPATHCCHAPI HRESULT PathCchAddExtension(
  [in, out] PWSTR  pszPath,
  [in]      size_t cchPath,
  [in]      PCWSTR pszExt
);

参数

[in, out] pszPath

指向路径字符串的指针。 当此函数成功返回时,缓冲区包含带有追加扩展名的字符串。 此值不应为 NULL

注意 如果原始字符串已存在文件扩展名,则不会添加新扩展名,原始字符串将保持不变。

[in] cchPath

pszPath 指向的缓冲区的大小(以字符为单位)。

[in] pszExt

指向文件扩展名字符串的指针。 可以为此字符串提供,无论是否具有前面的句点 (“.ext”或“ext”) 。

返回值

此函数返回 HRESULT 代码,包括以下内容。

返回代码 说明
S_OK
函数成功。 请注意,这还包括空扩展的情况,例如后跟没有字符的句点。 在这种情况下,原始字符串将原样返回。
E_INVALIDARG
此值可能由多种原因引起,例如 pszPath 参数设置为 NULLcchPath 设置为 0 或大于 PATHCCH_MAX_CCH 的值,或者包含非法字符的扩展字符串,或者不是有效扩展名。
S_FALSE
原始字符串已具有扩展名。
PATHCCH_E_FILENAME_TOO_LONG
缓冲区太小,无法容纳返回的字符串。

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 pathcch.h
Library Pathcch.lib