Marshal.GetIDispatchForObject(Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns an IDispatch interface from a managed object.
public:
static IntPtr GetIDispatchForObject(System::Object ^ o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static IntPtr GetIDispatchForObject (object o);
public static IntPtr GetIDispatchForObject (object o);
[System.Security.SecurityCritical]
public static IntPtr GetIDispatchForObject (object o);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetIDispatchForObject : obj -> nativeint
static member GetIDispatchForObject : obj -> nativeint
[<System.Security.SecurityCritical>]
static member GetIDispatchForObject : obj -> nativeint
Public Shared Function GetIDispatchForObject (o As Object) As IntPtr
Parameters
- o
- Object
The object whose IDispatch
interface is requested.
Returns
nativeint
The IDispatch
pointer for the o
parameter.
- Attributes
Exceptions
o
does not support the requested interface.
Remarks
In managed code, you seldom work directly with the IDispatch
interface. However, GetIDispatchForObject is useful when calling a method that exposes a COM object parameter as an IntPtr type, or with custom marshaling. Calling an object with this method causes the reference count to increment on the interface pointer before the pointer is returned. Always use Marshal.Release to decrement the reference count once you have finished with the pointer.
You can also use this method on a managed object to obtain an interface pointer to the COM callable wrapper for the object. For additional information, see COM Callable Wrapper.