IInterface - C++ Builder

C++ Builder 参考手册 ➙ IInterface


System::IInterface 是增加了获取智能接口的 IUnknown。

  • System::IInterface 简介
  • System::IInterface 成员

一. System::IInterface 简介

System::IInterface 是增加了获取智能接口的 IUnknown。

  • 继承关系:
    IUnknown
    ⠀╙ System::IInterface
  • 头文件:#include
  • 命名空间: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 
    bool Supports(DelphiInterface& smartIntf)
    {
        return QueryInterface(__uuidof(T), reinterpret_cast(static_cast(&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

你可能感兴趣的:(IInterface - C++ Builder)