IStdMarshalInfo
The IStdMarshalInfo
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 IMarshal does 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 IStdMarshalInfo interface and then the IPersist
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 IStdMarshalInfo
interface 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
don t call this interface yourself. COM queries for this
interface when performing standard marshaling.
Methods in VTable Order
IUnknown Methods |
Description |
QueryInterface |
Returns
pointers to supported interfaces. |
AddRef |
Increments
reference count. |
Release |
Decrements
reference count. |
IStdMarshalInfo
Method |
Description |
GetClassForHandler |
Obtains the
class identifier of the object handler in the destination process. |
See Also