Marshal.GetDelegateForFunctionPointer Méthode

Définition

Surcharges

Nom Description
GetDelegateForFunctionPointer(IntPtr, Type)
Obsolète.

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

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

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

GetDelegateForFunctionPointer(IntPtr, Type)

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 de fonction non managé en 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 de fonction non managé à convertir.

t
Type

Type du délégué à renvoyer.

Retours

Instance de délégué pouvant être convertie en type délégué approprié.

Attributs

Exceptions

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

Le ptr paramètre est null.

-ou-

Le t paramètre est null.

Remarques

Vous pouvez utiliser les méthodes et GetFunctionPointerForDelegate les GetDelegateForFunctionPointer méthodes 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 transmis 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.

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 le UnmanagedFunctionPointerAttribute délégué.

La GetDelegateForFunctionPointer méthode a 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)

Convertit un pointeur de fonction non managé en 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 du délégué à retourner.

Paramètres

ptr
IntPtr

nativeint

Pointeur de fonction non managé à convertir.

Retours

TDelegate

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

Attributs

Exceptions

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

Le ptr paramètre est null.

Remarques

Vous pouvez utiliser les méthodes et GetFunctionPointerForDelegate<TDelegate>(TDelegate) les GetDelegateForFunctionPointer<TDelegate>(IntPtr) méthodes 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 le UnmanagedFunctionPointerAttribute délégué.

La GetDelegateForFunctionPointer<TDelegate>(IntPtr) méthode a 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 à