Marshal.PtrToStructure Método

Definição

Faz o escalão de dados de um bloco de memória não gerido para um objeto gerido.

Sobrecargas

Name Description
PtrToStructure(IntPtr, Object)
Obsoleto.

Faz o escalão de dados de um bloco de memória não gerido para um objeto gerido.

PtrToStructure(IntPtr, Type)
Obsoleto.

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

PtrToStructure<T>(IntPtr)

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

PtrToStructure<T>(IntPtr, T)

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

PtrToStructure(IntPtr, Object)

Atenção

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 o escalão de dados de um bloco de memória não gerido para um objeto gerido.

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 apontador para um bloco de memória não gerido.

structure
Object

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

Atributos

Exceções

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

-ou-

Estrutura é um tipo de valor em caixa.

Observações

PtrToStructure é frequentemente necessário em interoperabilidade COM e invocação de plataforma quando os parâmetros da estrutura são representados como um System.IntPtr valor. Não podes usar este método de sobrecarga com tipos de valor. Se o ptr parâmetro for IntPtr.Zeroigual a , null será devolvido.

Aplica-se a

PtrToStructure(IntPtr, Type)

Atenção

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 o escalonamento de dados de um bloco de memória não gerido para um objeto gerido 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 apontador para um bloco de memória não gerido.

structureType
Type

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

Devoluções

Um objeto gerido contendo os dados apontados pelo ptr parâmetro.

Atributos

Exceções

A structureType disposição dos parâmetros não é sequencial nem explícita.

-ou-

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

structureType é null.

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

Observações

PtrToStructure é frequentemente necessário em interoperabilidade COM e invocação de plataforma quando os parâmetros da estrutura são representados como um System.IntPtr valor. Podes passar um tipo de valor a este método de sobrecarga. Neste caso, o objeto devolvido é uma instância em caixa. Se o ptr parâmetro for IntPtr.Zeroigual a , null será devolvido.

Ver também

Aplica-se a

PtrToStructure<T>(IntPtr)

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

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 Genérico

T

O tipo de objeto para o qual os dados devem ser copiados. Isto deve ser uma aula formatada ou uma estrutura.

Parâmetros

ptr
IntPtr

nativeint

Um apontador para um bloco de memória não gerido.

Devoluções

T

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

Atributos

Exceções

A disposição de T não é sequencial nem explícita.

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

Observações

PtrToStructure<T>(IntPtr) é frequentemente necessário em interoperabilidade COM e invocação de plataforma quando os parâmetros da estrutura são representados como System.IntPtr valores. Podes passar um tipo de valor a esta sobrecarga de método. Se o ptr parâmetro for IntPtr.Zero igual a e T for um tipo de referência, null é devolvido. Se ptr for IntPtr.Zero igual a e T for um tipo de valor, a NullReferenceException é lançado.

Aplica-se a

PtrToStructure<T>(IntPtr, T)

Faz o escalonamento de dados de um bloco de memória não gerido para um objeto gerido 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 Genérico

T

O tipo de structure. Esta tem de ser uma aula formatada.

Parâmetros

ptr
IntPtr

nativeint

Um apontador para um bloco de memória não gerido.

structure
T

O objeto para o qual os dados devem ser copiados.

Atributos

Exceções

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

Observações

PtrToStructure<T>(IntPtr, T) é frequentemente necessário em interoperabilidade COM e invocação de plataforma quando os parâmetros da estrutura são representados como IntPtr valores. Não podes usar esta sobrecarga de métodos com tipos de valor. Se o ptr parâmetro for IntPtr.Zero igual a e T for um tipo de referência, null é devolvido. Se ptr for IntPtr.Zero igual a e T for um tipo de valor, a NullReferenceException é lançado.

Aplica-se a