Partilhar via


O empacotamento de Classes, estruturas e uniões

Classes e estruturas que são semelhantes a.NET Framework. Ambos podem ter campos, propriedades e eventos. They can also have static and nonstatic methods. Uma diferença notável é que as estruturas são tipos de valor e classes são tipos de referência.

A tabela a seguir lista as opções de empacotamento para classes, estruturas e uniões; Descreve o uso deles; e fornece um link para a plataforma correspondente invocar a amostra.

Tipo

Descrição

Exemplo

Classe de valor.

Passa uma classe com membros de inteiro como um parâmetro de In/Out, como o caso gerenciado.

SysTime

Estrutura de valor.

Passa estruturas como parâmetros.

Estruturas

Estrutura de referência.

Passa estruturas como In/Out parâmetros.

OSInfo

Estrutura com estruturas de aninhados (nivelados).

Passa de uma classe que represente uma estrutura com estruturas aninhadas na função não gerenciada. A estrutura é achatada para uma estrutura grande no protótipo gerenciado.

FindFile

Estrutura com estruturas de aninhados (não nivelados).

Passa uma estrutura com uma estrutura incorporada.

Estruturas

Estrutura com um ponteiro para outra estrutura.

Passa uma estrutura que contém um ponteiro para uma segunda estrutura como um membro.

Estruturas

Matriz de estruturas com números inteiros por valor.

Passa uma matriz de estruturas que contêm apenas números inteiros como um parâmetro In/Out. Membros da matriz podem ser alterados.

Matrizes

Matriz de estruturas com números inteiros e seqüências de caracteres por referência.

Passa uma matriz de estruturas que contêm números inteiros e seqüências de caracteres como um parâmetro de saída. A função chamada aloca memória para a matriz.

OutArrayOfStructs

Uniões com tipos de valor.

Passa as uniões de tipos de valor (inteiro e duplo).

Uniões

Uniões com tipos mistos.

Passa uniões com tipos mistos (integer e string).

Uniões

Valores nulos na estrutura.

Passa uma referência nula (nada em Visual Basic) em vez de uma referência a um tipo de valor.

HandleRef

Consulte também

Conceitos

Tipos de dados de invocação de plataforma

Empacotamento de Strings

Matrizes de tipos de empacotamento.

Diversos exemplos de empacotamento

Outros recursos

Empacotamento de dados com a plataforma chamar