Marshal.PtrToStructure Método

Definição

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

Sobrecargas

Nome Description
PtrToStructure(IntPtr, Object)
Obsoleto.

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

PtrToStructure(IntPtr, Type)
Obsoleto.

Faz marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado recém-alocado do tipo especificado.

PtrToStructure<T>(IntPtr)

Faz marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado recém-alocado do tipo especificado por um parâmetro de tipo genérico.

PtrToStructure<T>(IntPtr, T)

Faz marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado do tipo especificado.

PtrToStructure(IntPtr, Object)

Cuidado

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

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

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)

Parâmetros

ptr
IntPtr

nativeint

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

structure
Object

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

Atributos

Exceções

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

-ou-

Estrutura é um tipo de valor em caixa.

Comentários

PtrToStructure geralmente é necessário na interoperabilidade COM e na invocação de plataforma quando os parâmetros de estrutura são representados como um System.IntPtr valor. Você não pode usar esse método de sobrecarga com tipos de valor. Se o ptr parâmetro for igual IntPtr.Zero, null será retornado.

Aplica-se a

PtrToStructure(IntPtr, Type)

Cuidado

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

Faz marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado recém-alocado do tipo especificado.

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

Parâmetros

ptr
IntPtr

nativeint

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

structureType
Type

O tipo de objeto a ser criado. Esse objeto deve representar uma classe formatada ou uma estrutura.

Retornos

Um objeto gerenciado que contém os dados apontados pelo ptr parâmetro.

Atributos

Exceções

O structureType layout do parâmetro não é sequencial ou explícito.

-ou-

O structureType parâmetro é uma definição de tipo genérico.

structureType é null.

A classe especificada por structureType não tem um construtor acessível sem parâmetros.

Comentários

PtrToStructure geralmente é necessário na interoperabilidade COM e na invocação de plataforma quando os parâmetros de estrutura são representados como um System.IntPtr valor. Você pode passar um tipo de valor para esse método de sobrecarga. Nesse caso, o objeto retornado é uma instância em caixa. Se o ptr parâmetro for igual IntPtr.Zero, null será retornado.

Confira também

Aplica-se a

PtrToStructure<T>(IntPtr)

Faz marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado recém-alocado do tipo especificado por um parâmetro de tipo genérico.

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

Parâmetros de tipo

T

O tipo do objeto para o qual os dados devem ser copiados. Deve ser uma classe formatada ou uma estrutura.

Parâmetros

ptr
IntPtr

nativeint

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

Retornos

T

Um objeto gerenciado que contém os dados para os quais o ptr parâmetro aponta.

Atributos

Exceções

O layout não T é sequencial ou explícito.

A classe especificada por T não tem um construtor acessível sem parâmetros.

Comentários

PtrToStructure<T>(IntPtr) geralmente é necessário na interoperabilidade COM e na invocação de plataforma quando os parâmetros de estrutura são representados como System.IntPtr valores. Você pode passar um tipo de valor para essa sobrecarga de método. Se o ptr parâmetro for igual IntPtr.Zero e T for um tipo de referência, null será retornado. Se ptr for igual IntPtr.Zero e T for um tipo de valor, um NullReferenceException será gerado.

Aplica-se a

PtrToStructure<T>(IntPtr, T)

Faz marshaling de dados de um bloco de memória não gerenciado para um objeto gerenciado do tipo especificado.

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)

Parâmetros de tipo

T

O tipo de structure. Essa deve ser uma classe formatada.

Parâmetros

ptr
IntPtr

nativeint

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

structure
T

O objeto para o qual os dados devem ser copiados.

Atributos

Exceções

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

Comentários

PtrToStructure<T>(IntPtr, T) geralmente é necessário na interoperabilidade COM e na invocação de plataforma quando os parâmetros de estrutura são representados como IntPtr valores. Você não pode usar essa sobrecarga de método com tipos de valor. Se o ptr parâmetro for igual IntPtr.Zero e T for um tipo de referência, null será retornado. Se ptr for igual IntPtr.Zero e T for um tipo de valor, um NullReferenceException será gerado.

Aplica-se a