IResolveShellLink::ResolveShellLink 方法 (shobjidl_core.h)

请求文件夹对象解析 Shell 链接。

语法

HRESULT ResolveShellLink(
  [in] IUnknown *punkLink,
  [in] HWND     hwnd,
  [in] DWORD    fFlags
);

参数

[in] punkLink

类型: IUnknown*

指向对象的 IShellLink 接口的指针。 然后,可以查询此接口以确定链接的内容。

[in] hwnd

类型:HWND

Shell 用作对话框父级的窗口的句柄。 如果在解析链接时需要提示用户输入详细信息,Shell 将显示对话框。

[in] fFlags

类型:DWORD

操作标志。 此参数可以是以下值的组合。

SLR_INVOKE_MSI

调用 Windows Installer。

SLR_NOLINKINFO

禁用分布式链接跟踪。 默认情况下,分布式链接跟踪基于卷名称跟踪多个设备上的可移动媒体。 它还使用 UNC 路径跟踪其驱动器号已更改的远程文件系统。 设置 SLR_NOLINKINFO 将禁用这两种类型的跟踪。

SLR_NO_UI

如果无法解析链接,则不显示对话框。 设置 SLR_NO_UI 后, fFlags 的高序字会指定超时持续时间(以毫秒为单位)。 如果在超时持续时间内无法解析链接,函数将返回 。 如果高序字设置为零,则超时持续时间默认为 3000 毫秒 (3 秒) 。

SLR_NOUPDATE

请勿更新链接信息。

SLR_NOSEARCH

不要执行搜索启发。

SLR_NOTRACK

请勿使用分布式链接跟踪。

SLR_UPDATE

如果链接对象已更改,请更新其路径和标识符列表。 如果设置了 SLR_UPDATE ,则无需调用 IPersistFile::IsDirty 来确定链接对象是否已更改。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

此方法应尝试查找 Shell 链接的目标,即使目标已被移动或重命名。

要求

   
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (5.0 或更高版本)

另请参阅

IResolveShellLink