Creates an instance of a specific class on a specific machine.
HRESULT CoCreateInstanceEx(
| 
 REFCLSID rclsid,  | 
 //CLSID of the object to be created  | 
| 
 IUnknown * punkOuter,  | 
 //If part of an aggregate, the controlling IUnknown  | 
| 
 DWORD dwClsCtx,  | 
 //CLSCTX values  | 
| 
 COSERVERINFO* pServerInfo,  | 
 //Machine on which the object is to be instantiated  | 
| 
 ULONG cmq,  | 
 //Number of MULTI_QI structures in rgmqResults  | 
| 
 MULTI_QI rgmqResults  | 
 //Array of MULTI_QI structures  | 
| 
 );  | 
Parameters
Return Values
This function supports the standard return value E_INVALIDARG, as well as the following:
Remarks
CoCreateInstanceEx creates a single uninitialized object associated with the given CLSID on a specified remote machine. This is an extension of the function CoCreateInstance, which creates an object on the local machine only. In addition, rather than requesting a single interface and obtaining a single pointer to that interface, CoCreateInstanceEx makes it possible to specify an array of structures, each pointing to an interface identifier (IID) on input, and, on return, containing (if available) a pointer to the requested interface and the return value of the QueryInterface call for that interface. This permits fewer round trips between machines.
The CoCreateInstanceEx helper function encapsulates three calls: first, to CoGetClassObject to connect to the class object associated with the specified CLSID, specifying the machine location of the class; second, to IClassFactory::CreateInstance to create an uninitialized instance, and finally, to IClassFactory::Release, to release the class object.
The object so created must still be initialized through a call to one of the initialization interfaces (such as IPersistStorage:::Load). The two helper functions, CoGetInstanceFromFile and CoGetInstanceFromIStorage encapsulate both the instance creation and initialization from the obvious sources.
See Also
CoGetInstanceFromFile, CoGetInstanceFromIStorage, CLSCTX, COSERVERINFO, Instance Creation Helper Functions