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

This interface returns the CLSID identifying the handler to be used in the destination process during standard marshaling.

An object that uses OLE's default implementation of IMarshaldoes not provide its own proxy but, by implementing IStdMarshalInfo, can nevertheless specify a handler to be loaded in the client process. Such a handler would typically handle certain requests in-process and use OLE's default marshaling to delegate others back to the original object.

To create an instance of an object in some client process, COM must first determine whether the object uses default marshaling or its own implementation.

If the object uses default marshaling, COM then queries the object to determine whether it uses a special handler or, simply, OLE's default proxy.

To get the CLSID of the handler to be loaded, COM queries the object for the IStdMarshalInfointerface and then the IPersistinterface. If neither interface is supported, a standard handler is used.

When to Implement

If you are writing a server application that supports class emulation (that is, if your server can manipulate objects of another type in response to the Activate As option in the Convert dialog box), you must implement the IStdMarshalInfointerface in order to return the CLSID of the handler to be used for the object.

Note that your handler must aggregate the default handler.

When to Use

You typically do not call this interface yourself. COM queries for this interface when performing standard marshaling.

Methods in Vtable Order

IUnknown method Description


Returns pointers to supported interfaces.


Increments the reference count.


Decrements the reference count.

Method Description


Obtains the class identifier of the object handler in the destination process.


To determine whether the platform supports this interface, see Determining Supported COM APIs.


Header objidl.h, 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