IObjectHandle Interface

Definition

Defines the interface for unwrapping marshal-by-value objects from indirection.

public interface class IObjectHandle
[System.Runtime.InteropServices.Guid("C460E2B4-E199-412a-8456-84DC3E4838C3")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectHandle
[System.Runtime.InteropServices.Guid("C460E2B4-E199-412a-8456-84DC3E4838C3")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
[System.Runtime.InteropServices.ComVisible(true)]
public interface IObjectHandle
[<System.Runtime.InteropServices.Guid("C460E2B4-E199-412a-8456-84DC3E4838C3")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IObjectHandle = interface
[<System.Runtime.InteropServices.Guid("C460E2B4-E199-412a-8456-84DC3E4838C3")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type IObjectHandle = interface
Public Interface IObjectHandle
Derived
Attributes

Remarks

Marshal-by-value objects can be returned through an indirection, allowing the caller to control when the object is loaded into their domain. The caller can unwrap the object from the indirection through this interface.

The class implementing the IObjectHandle interface can be used to pass an object (in a wrapped state) between multiple application domains without loading the metadata for the wrapped object in each AppDomain through which the IObjectHandle travels. Thus, the IObjectHandle class gives the caller control of when the Type of the remote object is loaded into their domain.

Methods

Unwrap()

Unwraps the object.

Applies to