Marshal.GetFunctionPointerForDelegate-Methode: (Delegate)
Veröffentlicht: Oktober 2016
Konvertiert einen Delegaten in einen Funktionszeiger, der aus nicht verwaltetem Code aufgerufen werden kann.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
[SecurityCriticalAttribute]
public static IntPtr GetFunctionPointerForDelegate(
Delegate d
)
public:
[SecurityCriticalAttribute]
static IntPtr GetFunctionPointerForDelegate(
Delegate^ d
)
[<SecurityCriticalAttribute>]
static member GetFunctionPointerForDelegate :
d:Delegate -> nativeint
<SecurityCriticalAttribute>
Public Shared Function GetFunctionPointerForDelegate (
d As Delegate
) As IntPtr
Parameter
d
Type: System.DelegateDer Delegat, der an nicht verwalteten Code übergeben werden soll.
Rückgabewert
Type: System.IntPtr
Ein Wert, der an nicht verwalteten Code übergeben werden kann, der mit diesem Wert wiederum den zugrunde liegenden verwalteten Delegaten aufrufen kann.
Ausnahmen
Exception | Condition |
---|---|
ArgumentException | Die d Parameter ist ein generischer Typ. |
ArgumentNullException | Der d-Parameter ist null. |
Hinweise
Der Delegat d wird konvertiert in einen Funktionszeiger, der an nicht verwalteten Code übergeben werden, kann die __stdcall Aufrufkonvention.
Sie müssen manuell verhindern, dass der Delegat vom Garbage Collector erfasst wird, die in verwaltetem Code. Der Garbage Collector verfolgt keine Verweise auf nicht verwalteten Code.
Sicherheit
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Versionsinformationen
Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Siehe auch
GetFunctionPointerForDelegate Überladen
Marshal-Klasse
System.Runtime.InteropServices-Namespace
Zurück zum Anfang