Way way back this is how IUnknown was defined before Delphi added the interface language feature: IUnknown = class public { IUnknown } function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall; abstract; function _AddRef: Integer; virtual; stdcall; abstract; function ...
More...