Marshal.PtrToStructure Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Marshale les données d’un bloc de mémoire non managé vers un objet managé.
Surcharges
| Nom | Description |
|---|---|
| PtrToStructure(IntPtr, Object) |
Obsolète.
Marshale les données d’un bloc de mémoire non managé vers un objet managé. |
| PtrToStructure(IntPtr, Type) |
Obsolète.
Marshale les données d’un bloc de mémoire non managé vers un objet managé nouvellement alloué du type spécifié. |
| PtrToStructure<T>(IntPtr) |
Marshale les données d’un bloc de mémoire non managé vers un objet managé nouvellement alloué du type spécifié par un paramètre de type générique. |
| PtrToStructure<T>(IntPtr, T) |
Marshale les données d’un bloc de mémoire non managé vers un objet managé du type spécifié. |
PtrToStructure(IntPtr, Object)
Attention
PtrToStructure(IntPtr, Object) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296512
Marshale les données d’un bloc de mémoire non managé vers un objet managé.
public:
static void PtrToStructure(IntPtr ptr, System::Object ^ structure);
[System.Obsolete("PtrToStructure(IntPtr, Object) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296512")]
[System.Security.SecurityCritical]
public static void PtrToStructure(IntPtr ptr, object structure);
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Runtime.InteropServices.ComVisible(true)]
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(true)]
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Security.SecurityCritical]
public static void PtrToStructure(IntPtr ptr, object structure);
[<System.Obsolete("PtrToStructure(IntPtr, Object) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296512")>]
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * obj -> unit
static member PtrToStructure : nativeint * obj -> unit
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * obj -> unit
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * obj -> unit
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * obj -> unit
Public Shared Sub PtrToStructure (ptr As IntPtr, structure As Object)
Paramètres
- ptr
-
IntPtr
nativeint
Pointeur vers un bloc de mémoire non managé.
- structure
- Object
Objet vers lequel les données doivent être copiées. Il doit s’agir d’une instance d’une classe mise en forme.
- Attributs
Exceptions
La disposition de structure n’est pas séquentielle ou explicite.
-ou-
La structure est un type de valeur boxed.
Remarques
PtrToStructure est souvent nécessaire dans COM Interop et l’appel de plateforme lorsque les paramètres de structure sont représentés sous forme de System.IntPtr valeur. Vous ne pouvez pas utiliser cette méthode de surcharge avec des types valeur.
Si le ptr paramètre est égal IntPtr.Zeroà , null est retourné.
S’applique à
PtrToStructure(IntPtr, Type)
Attention
PtrToStructure(IntPtr, Type) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296513
Marshale les données d’un bloc de mémoire non managé vers un objet managé nouvellement alloué du type spécifié.
public:
static System::Object ^ PtrToStructure(IntPtr ptr, Type ^ structureType);
[System.Obsolete("PtrToStructure(IntPtr, Type) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296513")]
[System.Security.SecurityCritical]
public static object PtrToStructure(IntPtr ptr, Type structureType);
public static object PtrToStructure(IntPtr ptr, Type structureType);
[System.Runtime.InteropServices.ComVisible(true)]
public static object PtrToStructure(IntPtr ptr, Type structureType);
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(true)]
public static object PtrToStructure(IntPtr ptr, Type structureType);
[System.Security.SecurityCritical]
public static object PtrToStructure(IntPtr ptr, Type structureType);
[<System.Obsolete("PtrToStructure(IntPtr, Type) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296513")>]
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * Type -> obj
static member PtrToStructure : nativeint * Type -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * Type -> obj
Public Shared Function PtrToStructure (ptr As IntPtr, structureType As Type) As Object
Paramètres
- ptr
-
IntPtr
nativeint
Pointeur vers un bloc de mémoire non managé.
- structureType
- Type
Type d’objet à créer. Cet objet doit représenter une classe ou une structure mise en forme.
Retours
Objet managé contenant les données pointées par le ptr paramètre.
- Attributs
Exceptions
La structureType disposition des paramètres n’est pas séquentielle ou explicite.
-ou-
Le structureType paramètre est une définition de type générique.
structureType a la valeur null.
La classe spécifiée par structureType n’a pas de constructeur sans paramètre accessible.
Remarques
PtrToStructure est souvent nécessaire dans COM Interop et l’appel de plateforme lorsque les paramètres de structure sont représentés sous forme de System.IntPtr valeur. Vous pouvez passer un type valeur à cette méthode de surcharge. Dans ce cas, l’objet retourné est une instance boxed.
Si le ptr paramètre est égal IntPtr.Zeroà , null est retourné.
Voir aussi
S’applique à
PtrToStructure<T>(IntPtr)
Marshale les données d’un bloc de mémoire non managé vers un objet managé nouvellement alloué du type spécifié par un paramètre de type générique.
public:
generic <typename T>
static T PtrToStructure(IntPtr ptr);
[System.Security.SecurityCritical]
public static T PtrToStructure<T>(IntPtr ptr);
public static T PtrToStructure<T>(IntPtr ptr);
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint -> 'T
static member PtrToStructure : nativeint -> 'T
Public Shared Function PtrToStructure(Of T) (ptr As IntPtr) As T
Paramètres de type
- T
Type de l’objet dans lequel les données doivent être copiées. Il doit s’agir d’une classe mise en forme ou d’une structure.
Paramètres
- ptr
-
IntPtr
nativeint
Pointeur vers un bloc de mémoire non managé.
Retours
Objet managé qui contient les données vers laquelle pointe le ptr paramètre.
- Attributs
Exceptions
La disposition n’est T pas séquentielle ou explicite.
La classe spécifiée par T n’a pas de constructeur sans paramètre accessible.
Remarques
PtrToStructure<T>(IntPtr) est souvent nécessaire dans l’interopérabilité COM et l’appel de plateforme lorsque les paramètres de structure sont représentés en tant que System.IntPtr valeurs. Vous pouvez passer un type valeur à cette surcharge de méthode.
Si le ptr paramètre est égal IntPtr.Zero à un T type référence, null il est retourné. Si ptr elle est IntPtr.Zero égale et T est un type valeur, une NullReferenceException valeur est levée.
S’applique à
PtrToStructure<T>(IntPtr, T)
Marshale les données d’un bloc de mémoire non managé vers un objet managé du type spécifié.
public:
generic <typename T>
static void PtrToStructure(IntPtr ptr, T structure);
[System.Security.SecurityCritical]
public static void PtrToStructure<T>(IntPtr ptr, T structure);
public static void PtrToStructure<T>(IntPtr ptr, T structure);
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * 'T -> unit
static member PtrToStructure : nativeint * 'T -> unit
Public Shared Sub PtrToStructure(Of T) (ptr As IntPtr, structure As T)
Paramètres de type
- T
Type de structure. Il doit s’agir d’une classe mise en forme.
Paramètres
- ptr
-
IntPtr
nativeint
Pointeur vers un bloc de mémoire non managé.
- structure
- T
Objet vers lequel les données doivent être copiées.
- Attributs
Exceptions
La disposition de structure n’est pas séquentielle ou explicite.
Remarques
PtrToStructure<T>(IntPtr, T) est souvent nécessaire dans l’interopérabilité COM et l’appel de plateforme lorsque les paramètres de structure sont représentés en tant que IntPtr valeurs. Vous ne pouvez pas utiliser cette surcharge de méthode avec des types valeur.
Si le ptr paramètre est égal IntPtr.Zero à un T type référence, null il est retourné. Si ptr elle est IntPtr.Zero égale et T est un type valeur, une NullReferenceException valeur est levée.