Share via


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:

  1. Create a class factory object that supports the IUnknown, IClassFactory, and IMarshal interfaces.
  2. 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,
uuid.lib

See Also

Reference

ISurrogate
CoGetClassObject
CoRegisterClassObject
CoRegisterSurrogate
IClassFactory
IMarshal
IUnknown
ISurrogate::FreeSurrogate