Partilhar via


Marshalling Cordas

A plataforma invoca copia parâmetros de cadeia de caracteres, convertendo-os do formato .NET Framework (Unicode) para o formato não gerenciado (ANSI), se necessário. Como as cadeias de caracteres gerenciadas são imutáveis, a invocação de plataforma não as copia de volta da memória não gerenciada para a memória gerenciada quando a função retorna.

A tabela a seguir lista opções de empacotamento para cadeias de caracteres, descreve seu uso e fornece um link para o exemplo correspondente do .NET Framework.

String Description Exemplo
Por valor. Passa cadeias de caracteres como parâmetros In. MsgBox
Como resultado. Retorna cadeias de caracteres de código não gerenciado. Cordas
Por referência. Passa cadeias de caracteres como parâmetros de entrada/saída usando StringBuilder. Buffers
Numa estrutura por valor. Passa cadeias de caracteres em uma estrutura que é um parâmetro In. Estruturas
Numa estrutura por referência (char*). Passa cadeias de caracteres em uma estrutura que é um parâmetro In/out. A função não gerenciada espera um ponteiro para um buffer de caracteres e o tamanho do buffer é um membro da estrutura. Cordas
Numa estrutura por referência (char[]). Passa cadeias de caracteres em uma estrutura que é um parâmetro In/out. A função não gerenciada espera um buffer de caracteres incorporado. OSInfo
Em uma classe por valor (char*). Passa cadeias de caracteres em uma classe (uma classe é um parâmetro In/out). A função não gerenciada espera um ponteiro para um buffer de caracteres. OpenFileDlg
Em uma classe por valor (char[]). Passa cadeias de caracteres em uma classe (uma classe é um parâmetro In/out). A função não gerenciada espera um buffer de caracteres incorporado. OSInfo
Como uma matriz de cadeias de caracteres por valor. Cria uma matriz de cadeias de caracteres que é passada por valor. Matrizes
Como uma matriz de estruturas que contêm cadeias de caracteres por valor. Cria uma matriz de estruturas que contêm cadeias de caracteres e a matriz é passada por valor. Matrizes

Consulte também