Freigeben über


Marshal.PtrToStructure-Methode: (IntPtr, Object)

 

Veröffentlicht: Oktober 2016

Marshallt Daten aus einem nicht verwalteten Speicherblock zu einem verwalteten Objekt.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[SecurityCriticalAttribute]
[ComVisibleAttribute(true)]
public static void PtrToStructure(
    IntPtr ptr,
    object structure
)
public:
[SecurityCriticalAttribute]
[ComVisibleAttribute(true)]
static void PtrToStructure(
    IntPtr ptr,
    Object^ structure
)
[<SecurityCriticalAttribute>]
[<ComVisibleAttribute(true)>]
static member PtrToStructure : 
        ptr:nativeint *
        structure:Object -> unit
<SecurityCriticalAttribute>
<ComVisibleAttribute(True)>
Public Shared Sub PtrToStructure (
    ptr As IntPtr,
    structure As Object
)

Parameter

  • ptr
    Type: System.IntPtr

    Ein Zeiger auf einen nicht verwalteten Speicherblock.

  • structure
    Type: System.Object

    Das Objekt, in das die Daten kopiert werden sollen. Dabei muss es sich um eine Instanz einer formatierten Klasse handeln.

Ausnahmen

Exception Condition
ArgumentException

Strukturlayout ist weder sequenziell noch explizit.

- oder -

Struktur ist ein geschachtelter Werttyp.

Hinweise

PtrToStructure wird häufig in COM-Interop und Plattformaufrufe wenn Strukturparameter als dargestellt werden ein System.IntPtr Wert. Diese überladene Methode kann nicht mit Werttypen verwenden werden.

Sicherheit

SecurityCriticalAttribute

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 1.1
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

PtrToStructure Überladen
Marshal-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang