//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1995. // // File: remunk.idl // // The remote version of IUnknown. This interface exists on every // object that is exported. It is used by clients to query for new // interfaces, get additional references (for marshalling), and release // outstanding references. // //+------------------------------------------------------------------------- [ object, uuid(00000131-0000-0000-C000-000000000046) ] interface IRemUnknown : IUnknown { #ifndef DO_NO_IMPORTS import "unknwn.idl"; import "obase.idl"; #endif typedef struct tagREMQIRESULT { HRESULT hResult; STDOBJREF std; } REMQIRESULT; HRESULT RemQueryInterface ( [in] REFIPID ripid, [in] unsigned long cRefs, [in] unsigned short cIids, [in, size_is(cIids)] IID *iids, [out, size_is(,cIids)] REMQIRESULT **ppQIResults ); typedef struct tagREMINTERFACEREF { IPID ipid; unsigned long cPublicRefs; unsigned long cPrivateRefs; } REMINTERFACEREF; HRESULT RemAddRef ( [in] unsigned short cInterfaceRefs, [in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[], [out, size_is(cInterfaceRefs)] HRESULT *pResults ); HRESULT RemRelease ( [in] unsigned short cInterfaceRefs, [in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[] ); }