IInterface = interface
__interface INTERFACE_UUID("00000000-0000-0000-C000-000000000046") IInterface : public IUnknown
IInterface is the base class for all interfaces defined in Object Pascal code.
IInterface is the base interface for interfaces defined in Object Pascal code. When used in C++ code, IInterface is considered a child interface of IUnknown and IUnknown is considered the base interface for all interfaces.
Note: IInterface introduces the QueryInterface method, which is useful for discovering and using other interfaces implemented by the same object. IInterface also introduces the reference counting methods, _AddRef and _Release. The Object Pascal compiler automatically provides calls to these methods when interfaces are used. The TInterfacedObject class is provided as a base class for objects that implement interfaces. Use of TInterfacedObject is not mandatory, but will often be easier than designing an implementer class from scratch.
Note: C++ method declarations that use IInterface refer to the _di_IInterface type instead. This is a DelphiInterface wrapper around the IInterface interface:typedef System::DelphiInterface< IInterface > _di_IInterface;