TInterfacedPersistent::QueryInterface:实现 IInterface 的 QueryInterface 方法,由 IInterface 调用,不要直接调用这个方法。
函数原型:
virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj); |
头文件:
#include <System.Classes.hpp> (XE2 之后),#include <Classes.hpp> (XE 之前)
命名空间:
System
参数:
IID:类型的 GUID
Obj:用于返回对象指针的地址,参数 Obj 虽然是 void * 类型的,但是实质上是 void ** 类型的,必须把 void ** 强制转为 void * 作为 Obj 参数。
返回值:
实现 IInterface 的 QueryInterface 方法,由 IInterface 调用,不要直接调用这个方法。
如果这个对象支持接口,Obj 返回对象指针的地址,函数返回 S_OK,如果不支持,函数返回 E_NOINTERFACE。
如果函数成功的获取了接口对象,引用计数值会加一。
兼容性:
函数 \ C++ Builder 编译器 |
bcc32 |
clang32 |
clang64 |
TInterfacedPersistent::QueryInterface |
√ |
√ |
√ |
相关链接:
• TObject::GetInterface • TInterfacedPersistent • TPersistent • VCL基础类
|