MULTI_QI structure

Represents an interface in a query for multiple interfaces.

Syntax


typedef struct tagMULTI_QI {
  const IID *pIID;
  IUnknown  *pItf;
  HRESULT   hr;
} MULTI_QI;

Members

pIID

A pointer to an interface identifier.

pItf

A pointer to the interface requested in pIID. This member must be NULL on input.

hr

The return value of the QueryInterface call to locate the requested interface. Common return values include S_OK and E_NOINTERFACE. This member must be 0 on input.

Remarks

To optimize network performance, most remote activation functions take an array of MULTI_QI structures rather than just a single IID as input and a single pointer to the requested interface on the object as output, as do local activation functions. This allows a set of pointers to interfaces to be returned from the same object in a single round-trip to the server. In network scenarios, requesting multiple interfaces at the time of object construction can save considerable time over using a number of calls to QueryInterface for unique interfaces, each of which would require a round-trip to the server.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps | Windows Store apps]

Minimum supported server

Windows 2000 Server [desktop apps | Windows Store apps]

Header

Objidl.h

See also

CoCreateInstanceEx
CoGetInstanceFromFile
CoGetInstanceFromIStorage
IMultiQI

 

 

Show: