Partager via


Marshal.GetDelegateForFunctionPointer Méthode

Définition

Surcharges

GetDelegateForFunctionPointer(IntPtr, Type)
Obsolète.

Convertit un pointeur fonction non managé en un délégué.

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Convertit un pointeur fonction non managé en un délégué d'un type spécifié.

GetDelegateForFunctionPointer(IntPtr, Type)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Attention

GetDelegateForFunctionPointer(IntPtr, Type) may be unavailable in future releases. Instead, use GetDelegateForFunctionPointer<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296521

Convertit un pointeur fonction non managé en un délégué.

public:
 static Delegate ^ GetDelegateForFunctionPointer(IntPtr ptr, Type ^ t);
[System.Obsolete("GetDelegateForFunctionPointer(IntPtr, Type) may be unavailable in future releases. Instead, use GetDelegateForFunctionPointer<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296521")]
[System.Security.SecurityCritical]
public static Delegate GetDelegateForFunctionPointer (IntPtr ptr, Type t);
public static Delegate GetDelegateForFunctionPointer (IntPtr ptr, Type t);
[System.Security.SecurityCritical]
public static Delegate GetDelegateForFunctionPointer (IntPtr ptr, Type t);
[<System.Obsolete("GetDelegateForFunctionPointer(IntPtr, Type) may be unavailable in future releases. Instead, use GetDelegateForFunctionPointer<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296521")>]
[<System.Security.SecurityCritical>]
static member GetDelegateForFunctionPointer : nativeint * Type -> Delegate
static member GetDelegateForFunctionPointer : nativeint * Type -> Delegate
[<System.Security.SecurityCritical>]
static member GetDelegateForFunctionPointer : nativeint * Type -> Delegate
Public Shared Function GetDelegateForFunctionPointer (ptr As IntPtr, t As Type) As Delegate

Paramètres

ptr
IntPtr

nativeint

Pointeur vers la fonction non managée à convertir.

t
Type

Type du délégué à retourner.

Retours

Instance de délégué qui peut être castée en type délégué approprié.

Attributs

Exceptions

Le paramètre t n'est pas un délégué ou est générique.

Le paramètre ptr a la valeur null.

- ou -

Le paramètre t a la valeur null.

Remarques

Vous pouvez utiliser les GetDelegateForFunctionPointer méthodes et GetFunctionPointerForDelegate pour marshaler les délégués dans les deux directions. Avec GetDelegateForFunctionPointer, ptr est importé en tant que System.IntPtr. Un System.IntPtr peut être obtenu pour un délégué managé en appelant GetFunctionPointerForDelegate et passé en tant que paramètre ; il peut ensuite être appelé à partir de l’intérieur de la méthode non managée. Notez que le marshaleur de paramètres peut également marshaler des pointeurs de fonction vers des délégués dans .NET Framework 2.0 et versions ultérieures.

ptr est converti en délégué qui appelle la méthode non managée à l’aide de la convention d’appel de plateforme par défaut. Vous pouvez définir la convention d’appel en appliquant au UnmanagedFunctionPointerAttribute délégué.

La GetDelegateForFunctionPointer méthode présente les restrictions suivantes :

  • Les génériques ne sont pas pris en charge dans les scénarios d’interopérabilité.

  • Vous pouvez utiliser cette méthode uniquement pour les pointeurs de fonction non managés purs.

  • Vous ne pouvez pas utiliser cette méthode avec des pointeurs de fonction obtenus via C++.

S’applique à

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Convertit un pointeur fonction non managé en un délégué d'un type spécifié.

public:
generic <typename TDelegate>
 static TDelegate GetDelegateForFunctionPointer(IntPtr ptr);
[System.Security.SecurityCritical]
public static TDelegate GetDelegateForFunctionPointer<TDelegate> (IntPtr ptr);
public static TDelegate GetDelegateForFunctionPointer<TDelegate> (IntPtr ptr);
[<System.Security.SecurityCritical>]
static member GetDelegateForFunctionPointer : nativeint -> 'Delegate
static member GetDelegateForFunctionPointer : nativeint -> 'Delegate
Public Shared Function GetDelegateForFunctionPointer(Of TDelegate) (ptr As IntPtr) As TDelegate

Paramètres de type

TDelegate

Type de délégué à retourner.

Paramètres

ptr
IntPtr

nativeint

Pointeur vers la fonction non managée à convertir.

Retours

TDelegate

Instance du type délégué spécifié.

Attributs

Exceptions

Le paramètre générique TDelegate n'est pas un délégué ou il s'agit d'un type générique ouvert.

Le paramètre ptr a la valeur null.

Remarques

Vous pouvez utiliser les GetDelegateForFunctionPointer<TDelegate>(IntPtr) méthodes et GetFunctionPointerForDelegate<TDelegate>(TDelegate) pour marshaler les délégués dans les deux directions.

ptr est converti en délégué qui appelle la méthode non managée à l’aide de la convention d’appel de plateforme par défaut. Vous pouvez définir la convention d’appel en appliquant au UnmanagedFunctionPointerAttribute délégué.

La GetDelegateForFunctionPointer<TDelegate>(IntPtr) méthode présente les restrictions suivantes :

  • Les génériques ne sont pas pris en charge dans les scénarios d’interopérabilité.

  • Vous pouvez utiliser cette méthode uniquement pour les pointeurs de fonction non managés purs.

  • Vous ne pouvez pas utiliser cette méthode avec des pointeurs de fonction obtenus via C++.

S’applique à