ITDispatchMapper::QueryDispatchInterface 方法 (tapi3if.h)

QueryDispatchInterface 方法返回指向对象上不同接口的调度指针,给定其 GUID 和对象上另一个接口的调度指针。

语法

HRESULT QueryDispatchInterface(
  [in]  BSTR      pIID,
  [in]  IDispatch *pInterfaceToMap,
  [out] IDispatch **ppReturnedInterface
);

参数

[in] pIID

指向所需接口的 GUID 的 BSTR 表示形式的指针。

[in] pInterfaceToMap

启动接口的 IDispatch 指针。

[out] ppReturnedInterface

接口的 IDispatch 指针对应于 pIID 中包含的 GUID

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
方法成功。
E_OUTOFMEMORY
内存不足,无法执行操作。
E_INVALIDARG
pIID 参数不是有效的 BSTR,或者不会转换为有效的 GUID。
E_NOINTERFACE
请求的接口未公开,或者对象不实现 IObjectSafety 接口。

注解

应用程序必须使用 SysAllocStringpIID 参数分配内存,并在不再需要变量时使用 SysFreeString 释放内存。

Dispatch Mapper 将使用对象的 IObjectSafety 接口来确保对象安全地在请求的接口上编写脚本。 如果对象未实现 IObjectSafety,或者对象在此特定接口上不安全,则调用将失败。

要求

要求
目标平台 Windows
标头 tapi3if.h (包括 Tapi3.h)
Library Uuid.lib
DLL Tapi3.dll

另请参阅

ITDispatchMapper