ISurrogate::LoadDllServer method (objidl.h)

Loads a DLL server into the implementing surrogate. COM calls this method when there is an activation request for the DLL server's class, if the class is registered as DllSurrogate.


HRESULT LoadDllServer(
  [in] REFCLSID Clsid


[in] Clsid

The CLSID of the DLL server to be loaded.

Return value

This method can return the standard return values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and S_OK.


Upon receiving a load request through LoadDllServer, the surrogate must perform the following steps:

  1. Create a class factory object that supports IUnknown, IClassFactory, and IMarshal.
  2. Call CoRegisterClassObject to register the new class factory object as the class factory for the requested CLSID.
This class factory's implementation of IClassFactory::CreateInstance will create an instance of the requested CLSID method by calling CoGetClassObject to get the class factory which creates an actual object for the given CLSID.


Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header objidl.h (include ObjIdl.h)

See also




Writing a Custom Surrogate