Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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 IMarshalinterfaces.

  2. Call the CoRegisterClassObjectfunction to register the new class factory object as the class factory for the requested CLSID.

This class factory's implementation of the IClassFactory::CreateInstancemethod will create an instance of the requested CLSID method by calling the CoGetClassObjectfunction 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
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also