Marshal.GetIDispatchForObject(Object) Metodo

Definizione

Restituisce un'interfaccia IDispatch da un oggetto gestito.

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

Parametri

o
Object

Oggetto di cui è richiesta l'interfaccia IDispatch.

Restituisce

IntPtr

nativeint

Puntatore IDispatch per il parametro o.

Attributi

Eccezioni

o non supporta l'interfaccia richiesta.

Commenti

Nel codice gestito si lavora raramente direttamente con l'interfaccia IDispatch . Tuttavia, GetIDispatchForObject è utile quando si chiama un metodo che espone un parametro di oggetto COM come IntPtr tipo o con marshalling personalizzato. Se si chiama un oggetto con questo metodo, il conteggio dei riferimenti viene incrementato sul puntatore dell'interfaccia prima che venga restituito il puntatore. Usare Marshal.Release sempre per decrementare il conteggio dei riferimenti al termine dell'operazione con il puntatore.

È anche possibile utilizzare questo metodo su un oggetto gestito per ottenere un puntatore di interfaccia al wrapper chiamabile COM per l'oggetto. Per altre informazioni, vedere COM Callable Wrapper.

Si applica a

Vedi anche