Partilhar via


Marshalling Cordas

A invocação de plataforma copia cadeias de caracteres, convertendo-as do formato .NET Framework (Unicode) para o formato não gerido (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.

Cordão Descrição Exemplo
Por valor. Passa cadeias de caracteres como parâmetros de entrada. MsgBox
Como resultado. Retorna cadeias de caracteres de código não gerenciado. Cadeias de caracteres
Por referência. Passa cadeias de caracteres como parâmetros de entrada/saída usando StringBuilder. Memórias Intermediárias
Numa estrutura por valor. Passa cadeias de caracteres em uma estrutura que é um parâmetro In. Estruturas
Numa estrutura referenciada (char*). Passa cadeias de caracteres numa estrutura que é um parâmetro de entrada e saída. A função não gerida espera um ponteiro para um buffer de caracteres, sendo o tamanho do buffer um membro da estrutura. Cadeias de caracteres
Numa estrutura por referência (char[]). Passa cadeias de caracteres numa estrutura que é um parâmetro de entrada e saída. 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

Ver também