请输入您要查询的百科知识:

 

词条 QueryInterface
释义

客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。所有的COM接口都继承了IUnknown,每个接口的vtbl中的前三个函数都是QueryInterface、AddRef、Release。这样所有COM接口都可以被当成IUnknown接口来处理。

函数功能:IUnknown的一个成员函数,客户可以通过此函数来查询某个组件是否支持某个特定的接口。若支持QueryInterface将返回一个指向这些接口的指针,不支持返回值将是一个失败结果。

函数原型:HRESULT QueryInterface( REFIID iid, void** ppvObject);

参数:

iid

[in] 指明需要查询的接口的IID.

ppvObject

[out] 按第一个参数查询后得到的接口指针,该指针指向了这个接口的虚函数表,而在这个虚函数表中存放的就是该接口中函数的指针

示例:

void demo(IUnknown* pI)

{

// 定义一个接口指针

IM* pIM = NULL;

// 查询接口IM

HRESULThr = pI->QueryInterface(IID_IM, (void**)&pIM);

if (SUCCEEDED(hr))

{

// 通过接口调用函数

pIM->Fun();

}

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/26 22:17:09