Compartilhar via


Método Marshal.PtrToStructure (IntPtr, Object)

 

Realizar o marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado.

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

Sintaxe

[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
)

Parâmetros

  • ptr
    Type: System.IntPtr

    Um ponteiro para um bloco não gerenciado de memória.

  • structure
    Type: System.Object

    O objeto para o qual os dados serão copiados. Isso deve ser uma instância de uma classe formatada.

Exceções

Exception Condition
ArgumentException

O layout da estrutura não é sequencial nem explícito.

-ou-

Estrutura é um tipo de valor demarcado.

Comentários

PtrToStructure is often necessary in COM interop and platform invoke when structure parameters are represented as an System.IntPtr value. You cannot use this overload method with value types.

Segurança

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

PtrToStructure Sobrecarga
Classe Marshal
Namespace System.Runtime.InteropServices

Retornar ao início