PathResolve 函数 (shlobj_core.h)
[PathResolve 可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]
将相对路径名称或非限定路径名转换为完全限定的路径名称。
语法
int PathResolve(
[in, out] PWSTR pszPath,
[in, optional] PZPCWSTR dirs,
UINT fFlags
);
参数
[in, out] pszPath
类型: PWSTR
包含要解析的路径的以 null 结尾的 Unicode 字符串。 函数返回时,字符串包含相应的完全限定路径。 此缓冲区的长度应至少为 MAX_PATH 个字符。
[in, optional] dirs
类型: PZPCWSTR
指向可选以 null 结尾的目录数组的指针,如果无法从 pszPath 解析路径,请首先搜索该数组。 此值可以为 NULL。
fFlags
类型: UINT
指定函数运行方式的标志。
PRF_VERIFYEXISTS
如果验证文件是否存在,则返回 TRUE ;否则 为 FALSE。
PRF_TRYPROGRAMEXTENSIONS
查找附加了以下扩展名的指定路径:.pif、.com、.bat、.cmd、.lnk和 .exe。
PRF_FIRSTDIRDEF
首先在一个或多个目录(由 dirs 指定的目录)中查找。
PRF_DONTFINDLNK
忽略.lnk文件。
PRF_REQUIREABSOLUTE
需要绝对 (完整) 路径。
返回值
类型: int
返回 TRUE,除非设置了PRF_VERIFYEXISTS。 如果设置了该标志,则如果文件已验证为存在,函数将返回 TRUE ,否则 返回 FALSE 。 它还设置可通过调用 GetLastError 检索的ERROR_FILE_NOT_FOUND错误代码。
注解
FALSE 返回值不一定意味着该文件不存在。 这可能意味着函数根本无法从提供的信息中找到文件。
如果 PathResolve 无法解析 pszPath 中指定的路径,它将使用 pszPath 和 dirs 作为参数调用 PathFindOnPath。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlobj_core.h (包括 Shlobj.h) |
Library | Shell32.lib |
DLL | Shell32.dll (5.0 或更高版本) |
API 集 | Windows 10版本 10.0.14393 中引入的 ext-ms-win-shell-shell32-l1- (2-2) |