C++ Builder 参考手册 ➙ IInterface
System::IInterface 是增加了获取智能接口的 IUnknown。
- System::IInterface 简介
- System::IInterface 成员
一. System::IInterface 简介
System::IInterface 是增加了获取智能接口的 IUnknown。
- 继承关系:
IUnknown
⠀╙ System::IInterface - 头文件:
#include <sysmac.h>
- 命名空间:
System
- System::IInterface 是继承 IUnknown,在 IUnknown 的基础上,增加了一个 Supports 方法,用于获取 DelphiInterface 模板的智能接口;
- 可以认为 System::IInterface 就是 IUnknown,他们有同样的 UUID,仅仅是增加了一个 Supports 方法:
__interface INTERFACE_UUID("00000000-0000-0000-C000-000000000046") IInterface : public IUnknown
{
public:
template <typename T>
bool Supports(DelphiInterface<T>& smartIntf)
{
return QueryInterface(__uuidof(T), reinterpret_cast<void**>(static_cast<T**>(&smartIntf))) == S_OK;
}
};
二. System::IInterface 成员
成员函数 | 说明 |
---|---|
public: | |
Supports | 获取 DelphiInterface 模板的智能接口 |
IUnknown:: | 从 IUnknown 继承过来的 |
public: | |
AddRef | 增加引用计数 |
QueryInterface | 返回当前组件所支持的 COM 接口的引用 |
Release | 减少引用计数 / 销毁对象 |
参考:
- System::_di_IInterface
- System::DelphiInterface
- System::Classes::TComponent
- System::Classes::TInterfacedPersistent
- System::Classes::TPersistent
- System::Syncobjs::TSynchroObject
- System::TCppInterfacedObject
- System::TInterfacedObject
- System::TObject
- VCL 类继承关系
C++ Builder 参考手册 ➙ IInterface