3.1.1.5.7.1.1 IRemUnknown2::RemQueryInterface2 (Opnum 6)

The RemQueryInterface2 (Opnum 6) method acquires standard object references (see section 2.2.18.1) to additional interfaces on the object, marshaled as an MInterfacePointer structure.

 HRESULT RemQueryInterface2(
   [in] REFIPID ripid,
   [in] unsigned short cIids,
   [in, size_is(cIids)] IID* iids,
   [out, size_is(cIids)] HRESULT* phr,
   [out, size_is(cIids)] PMInterfacePointerInternal* ppMIF
 );

ripid:  This MUST specify an IPID that identifies the interface on the object in the object exporter that is queried for more interfaces.

cIids:  This MUST specify the number of elements in the iids, phr, and ppMIF parameters.

iids:  This MUST specify an array of IIDs for which the client requests object references.

phr:  This MUST contain an array of HRESULTs specifying the respective success or failure of each query operation.

ppMIF:  This MUST contain an array of MInterfacePointer structures containing the results of each query operation.

When processing this ORPC call, the object exporter MUST perform the same operations as it does for IRemUnknown::RemQueryInterface, except that it MUST return an OBJREF for each object reference in the MInterfacePointer array instead of an STDOBJREF.