Marshal.PtrToStructure Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Marshals-gegevens van een onbeheerd geheugenblok naar een beheerd object.
Overloads
| Name | Description |
|---|---|
| PtrToStructure(IntPtr, Object) |
Verouderd.
Marshals-gegevens van een onbeheerd geheugenblok naar een beheerd object. |
| PtrToStructure(IntPtr, Type) |
Verouderd.
Marshals-gegevens van een onbeheerd geheugenblok naar een nieuw toegewezen beheerd object van het opgegeven type. |
| PtrToStructure<T>(IntPtr) |
Marshals-gegevens van een onbeheerd geheugenblok naar een nieuw toegewezen beheerd object van het type dat is opgegeven door een algemene typeparameter. |
| PtrToStructure<T>(IntPtr, T) |
Marshals-gegevens van een onbeheerd geheugenblok naar een beheerd object van het opgegeven type. |
PtrToStructure(IntPtr, Object)
Let op
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
Marshals-gegevens van een onbeheerd geheugenblok naar een beheerd object.
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)
Parameters
- ptr
-
IntPtr
nativeint
Een aanwijzer naar een onbeheerd geheugenblok.
- structure
- Object
Het object waarnaar de gegevens moeten worden gekopieerd. Dit moet een instantie van een opgemaakte klasse zijn.
- Kenmerken
Uitzonderingen
Structuurindeling is niet sequentieel of expliciet.
– of –
Structuur is een waardetype in een vak.
Opmerkingen
PtrToStructure is vaak nodig in COM-interoperabiliteit en platformaanroepen wanneer structuurparameters worden weergegeven als een System.IntPtr waarde. U kunt deze overbelastingsmethode niet gebruiken met waardetypen.
Als de ptr parameter gelijk is IntPtr.Zeroaan, null wordt deze geretourneerd.
Van toepassing op
PtrToStructure(IntPtr, Type)
Let op
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
Marshals-gegevens van een onbeheerd geheugenblok naar een nieuw toegewezen beheerd object van het opgegeven type.
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
Parameters
- ptr
-
IntPtr
nativeint
Een aanwijzer naar een onbeheerd geheugenblok.
- structureType
- Type
Het type object dat moet worden gemaakt. Dit object moet een opgemaakte klasse of een structuur vertegenwoordigen.
Retouren
Een beheerd object met de gegevens waarnaar wordt verwezen door de ptr parameter.
- Kenmerken
Uitzonderingen
De structureType parameterindeling is niet sequentieel of expliciet.
– of –
De structureType parameter is een algemene typedefinitie.
structureType is null.
De klasse die is opgegeven door structureType , heeft geen toegankelijke parameterloze constructor.
Opmerkingen
PtrToStructure is vaak nodig in COM-interoperabiliteit en platformaanroepen wanneer structuurparameters worden weergegeven als een System.IntPtr waarde. U kunt een waardetype doorgeven aan deze overbelastingsmethode. In dit geval is het geretourneerde object een boxed exemplaar.
Als de ptr parameter gelijk is IntPtr.Zeroaan, null wordt deze geretourneerd.
Zie ook
Van toepassing op
PtrToStructure<T>(IntPtr)
Marshals-gegevens van een onbeheerd geheugenblok naar een nieuw toegewezen beheerd object van het type dat is opgegeven door een algemene typeparameter.
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
Type parameters
- T
Het type object waarnaar de gegevens moeten worden gekopieerd. Dit moet een opgemaakte klasse of een structuur zijn.
Parameters
- ptr
-
IntPtr
nativeint
Een aanwijzer naar een onbeheerd geheugenblok.
Retouren
Een beheerd object met de gegevens waarnaar de ptr parameter verwijst.
- Kenmerken
Uitzonderingen
De indeling van T is niet sequentieel of expliciet.
De klasse die is opgegeven door T , heeft geen toegankelijke parameterloze constructor.
Opmerkingen
PtrToStructure<T>(IntPtr) is vaak nodig in COM-interop en platform die worden aangeroepen wanneer structuurparameters worden weergegeven als System.IntPtr waarden. U kunt een waardetype doorgeven aan deze overbelasting van de methode.
Als de ptr parameter gelijk is aan en T een verwijzingstype IntPtr.Zero is, null wordt deze geretourneerd. Als ptr dit IntPtr.Zero gelijk is aan en T een waardetype is, wordt er een NullReferenceException gegenereerd.
Van toepassing op
PtrToStructure<T>(IntPtr, T)
Marshals-gegevens van een onbeheerd geheugenblok naar een beheerd object van het opgegeven type.
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)
Type parameters
- T
Het type structure. Dit moet een opgemaakte klasse zijn.
Parameters
- ptr
-
IntPtr
nativeint
Een aanwijzer naar een onbeheerd geheugenblok.
- structure
- T
Het object waarnaar de gegevens moeten worden gekopieerd.
- Kenmerken
Uitzonderingen
Structuurindeling is niet sequentieel of expliciet.
Opmerkingen
PtrToStructure<T>(IntPtr, T) is vaak nodig in COM-interop en platform die worden aangeroepen wanneer structuurparameters worden weergegeven als IntPtr waarden. U kunt deze methode niet overbelasten met waardetypen.
Als de ptr parameter gelijk is aan en T een verwijzingstype IntPtr.Zero is, null wordt deze geretourneerd. Als ptr dit IntPtr.Zero gelijk is aan en T een waardetype is, wordt er een NullReferenceException gegenereerd.