import "oaidl.idl"; [ uuid(84d140f4-c02f-4628-b476-b5c82366ab58), object ] interface IFoo : IUnknown { HRESULT Add([in] int i, [in] int j, [out]int * k); HRESULT LikeQI([in] IUnknown* u, [out, iid_is(iid)] void** ppv, REFIID iid); HRESULT Accumulate([in]int size, [in, size_is(size)] const int rgi[], [out, retval] int * result); }; [ uuid(84d140f5-c02f-4628-b476-b5c82366ab58), object ] interface IBlahBlah : IUnknown { HRESULT Subtract([in] ULONG i, [in] ULONG j, [out]ULONG * k); HRESULT LikeQI([in] IUnknown* u, [out, iid_is(iid)] void** ppv, REFIID iid); HRESULT DrawPrettyPicture([in]ULONG size, [in, size_is(size)] ULONG rgi[], [out, retval] ULONG * result); };