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 machine 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 the QueryInterface method for unique interfaces, each of which would require a round-trip to the server.
typedef struct _MULTI_QI { const IID* pIID; IUnknown * pItf; HRESULT hr; } MULTI_QI;
Members
See Also
CoGetInstanceFromFile, CoGetInstanceFromIStorage, CoCreateInstanceEx