Cadeias de caracteres de marshalling
A invocação de plataforma copia parâmetros de cadeia de caracteres, convertendo-os do formato do .NET Framework (Unicode) para o formato não gerenciado (ANSI), se necessário. Já que 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 as opções de marshaling para cadeias de caracteres, descreve o uso delas e fornece um link para a amostra de .NET Framework correspondente.
Cadeia de caracteres | Descrição | Amostra |
---|---|---|
Por valor. | Passa cadeias de caracteres como parâmetros In. | 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 In/Out usando StringBuilder. | Buffers |
Em uma estrutura por valor. | Passa cadeias de caracteres em uma estrutura que é um parâmetro In. | Estruturas |
Em uma 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. | Cadeias de caracteres |
Em uma 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 inserido. | 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 inserido. | 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 é transmitida por valor. | matrizes |
Confira também
Colaborar conosco no GitHub
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.