Marshal.GetIDispatchForObject-Methode: (Object)
Veröffentlicht: Oktober 2016
Gibt eine IDispatch-Schnittstelle aus einem verwalteten Objekt zurück.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
[SecurityCriticalAttribute]
public static IntPtr GetIDispatchForObject(
object o
)
public:
[SecurityCriticalAttribute]
static IntPtr GetIDispatchForObject(
Object^ o
)
[<SecurityCriticalAttribute>]
static member GetIDispatchForObject :
o:Object -> nativeint
<SecurityCriticalAttribute>
Public Shared Function GetIDispatchForObject (
o As Object
) As IntPtr
Parameter
o
Type: System.ObjectDas Objekt, dessen IDispatch-Schnittstelle angefordert wird.
Rückgabewert
Type: System.IntPtr
Der IDispatch-Zeiger für den o-Parameter.
Ausnahmen
Exception | Condition |
---|---|
InvalidCastException | o Die angeforderte Schnittstelle unterstützt nicht. |
Hinweise
In verwaltetem Code nur in seltenen Fällen arbeiten Sie direkt mit der IDispatch Schnittstelle. Allerdings GetIDispatchForObject ist nützlich, wenn eine Methode aufgerufen, die einen COM-Objektparameter als macht ein IntPtr Typ oder mit benutzerdefinierten Marshalling. Das Aufrufen eines Objekts mit dieser Methode bewirkt, dass den Verweiszähler für den Schnittstellenzeiger vor der Rückgabe des Zeigers inkrementiert wird. Verwenden Sie immer Marshal.Release um den Verweiszähler zu verringern, wenn Sie mit dem Mauszeiger beendet haben.
Sie können diese Methode auch für ein verwaltetes Objekt verwenden, um einen Schnittstellenzeiger auf den COM callable Wrapper für das Objekt zu erhalten. Weitere Informationen finden Sie unter COM Callable Wrapper.
Sicherheit
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Versionsinformationen
.NET Framework
Verfügbar seit 1.1
Siehe auch
Release
GetIDispatchForObjectInContext
Marshal-Klasse
System.Runtime.InteropServices-Namespace
Zurück zum Anfang