IUnknown_QueryService 函数 (shlwapi.h)

从指定的 对象检索服务的接口。

语法

LWSTDAPI IUnknown_QueryService(
  [in]  IUnknown *punk,
  [in]  REFGUID  guidService,
  [in]  REFIID   riid,
  [out] void     **ppvOut
);

参数

[in] punk

类型: IUnknown*

指向支持服务的 COM 对象的 IUnknown 实例的指针。

[in] guidService

类型: REFGUID

服务的唯一标识符 (SID) 。

[in] riid

类型: REFIID

所需服务接口的 IID。

[out] ppvOut

类型: void**

此方法返回时,包含请求的接口指针 riid。 如果成功,调用应用程序负责在不再需要服务时使用此值调用 IUnknown::Release 。 如果失败,此值为 NULL

返回值

类型: HRESULT

如果成功 则返回S_OK。 如果对象不支持 IServiceProvider,则返回E_FAIL。 否则,该函数返回对象的 QueryService 方法返回的 HRESULT

注解

如果在 punk 参数中传递的对象支持 IServiceProvider 接口,则调用其 QueryService 方法,传递 guidServiceriidppvOut 参数并传播返回值。 否则,函数将返回E_FAIL。

对于 Shlwapi.h 中不包含 IUnknown_QueryService 的 Windows 版本,必须使用序号 176 直接从 Shlwapi.dll 调用此函数。

要求

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

另请参阅

IServiceProvider

QueryService