SHGetPathFromIDListEx 函数 (shlobj_core.h)

将项标识符列表转换为文件系统路径。 此函数通过允许设置字符串缓冲区的初始大小并声明以下选项来扩展 SHGetPathFromIDList

语法

BOOL SHGetPathFromIDListEx(
  [in]  PCIDLIST_ABSOLUTE pidl,
  [out] PWSTR             pszPath,
        DWORD             cchPath,
        GPFIDL_FLAGS      uOpts
);

参数

[in] pidl

类型: PCIDLIST_ABSOLUTE

指向项标识符列表的指针,该列表指定相对于桌面) (命名空间根目录的文件或目录位置。

[out] pszPath

类型: PWSTR

调用此函数时,会传递一个以 null 结尾的 Unicode 缓冲区来接收文件系统路径。 此缓冲区的大小为 cchPath

当此函数返回时,包含以 null 结尾的 Unicode 缓冲区的地址,该缓冲区包含文件系统路径。 此缓冲区的大小为 cchPath

cchPath

类型:DWORD

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

uOpts

类型: GPFIDL_FLAGS

这些标志确定返回的路径的类型。

GPFIDL_DEFAULT (0x0000)

包含 Win32 文件名、服务器和根驱动器。

GPFIDL_ALTNAME (0x0001)

使用短文件名。

GPFIDL_UNCPRINTER (0x0002)

包括 UNC 打印机名称项。

返回值

类型: BOOL

如果成功,则返回 TRUE ;否则为 FALSE

注解

除 UNC 打印机名称外,如果 pidl 参数指定的位置不是文件系统的一部分,则此函数将失败。

如果 pidl 参数指定快捷方式, 则 pszPath 包含快捷方式的路径,而不是快捷方式的目标路径。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h (包括 Shlobj.h)
Library Shell32.lib
DLL Shell32.dll
API 集 Windows 10版本 10.0.14393 中引入的 ext-ms-win-shell-shell32-l1- (2-2)

另请参阅

SHParseDisplayName