anchor.diff:      result := integer(e_nointerface);
   end;
   
  -function TNullInterfacedObject._AddRef: longint; stdcall;
  +function TNullInterfacedObject._AddRef: longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
   begin
     Result := -1;
   end;
   
  -function TNullInterfacedObject._Release: longint; stdcall;
  +function TNullInterfacedObject._Release: longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
   begin
     Result := -1;
   end;
  
positive.code: 
  { TNullInterfacedObject }
  
  function TNullInterfacedObject.QueryInterface(const IID: TGUID; out Obj): longint; stdcall;
  begin
    if GetInterface(IID, Obj) then
      Result := 0
  
negative.code:   
  type
    // non reference counted interface
    TNullInterfacedObject = class(TObject, IUnknown)
    protected
      function QueryInterface(constref iid : tguid;out obj) : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
      function _AddRef : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
      function _Release : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
    end;
  
  
  