ISurrogate::LoadDllServer (Compact 2013)
3/26/2014
This method 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.
Syntax
HRESULT LoadDllServer(
REFCLSID Clsid
);
Parameters
- Clsid
[in] CLSID of the DLL server to be loaded.
Return Value
This method supports the standard return values E_UNEXPECTED, E_OUTOFMEMORY, and E_INVALIDARG.
If the method succeeds, the return value is S_OK.
Remarks
Upon receiving a load request through ISurrogate::LoadDllServer, the surrogate must perform the following steps:
- Create a class factory object that supports the IUnknown, IClassFactory, and IMarshal interfaces.
- Call the CoRegisterClassObject function to register the new class factory object as the class factory for the requested CLSID.
This class factory's implementation of the IClassFactory::CreateInstance method will create an instance of the requested CLSID method by calling the CoGetClassObject function to get the class factory which creates an actual object for the given CLSID.
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Requirements
Header |
objidl.idl |
Library |
ole32.lib, |
See Also
Reference
ISurrogate
CoGetClassObject
CoRegisterClassObject
CoRegisterSurrogate
IClassFactory
IMarshal
IUnknown
ISurrogate::FreeSurrogate