Compartilhar via


Enumeração de CorPinvokeMap

Especifica opções para uma chamada de PInvoke.

typedef enum  CorPinvokeMap {
    
    pmNoMangle          = 0x0001,
    
    pmCharSetMask       = 0x0006,
    pmCharSetNotSpec    = 0x0000,
    pmCharSetAnsi       = 0x0002,
    pmCharSetUnicode    = 0x0004,
    pmCharSetAuto       = 0x0006,
    
    pmBestFitUseAssem   = 0x0000,
    pmBestFitEnabled    = 0x0010,
    pmBestFitDisabled   = 0x0020,
    pmBestFitMask       = 0x0030,
    
    pmThrowOnUnmappableCharUseAssem   = 0x0000,
    pmThrowOnUnmappableCharEnabled    = 0x1000,
    pmThrowOnUnmappableCharDisabled   = 0x2000,
    pmThrowOnUnmappableCharMask       = 0x3000,
    
    pmSupportsLastError = 0x0040, 
    
    pmCallConvMask      = 0x0700,
    pmCallConvWinapi    = 0x0100,
    pmCallConvCdecl     = 0x0200,
    pmCallConvStdcall   = 0x0300,
    pmCallConvThiscall  = 0x0400,
    pmCallConvFastcall  = 0x0500,

    pmMaxValue          = 0xFFFF
    
} CorPinvokeMap;

Membros

Membro

Descrição

pmNoMangle

Use o nome de cada membro, conforme especificado.

pmCharSetMask

Reservado.

pmCharSetNotSpec

Reservado.

pmCharSetAnsi

Empacotar strings como cadeias de caracteres de vários bytes.

pmCharSetUnicode

Empacotar strings como caracteres Unicode de 2 bytes.

pmCharSetAuto

Automaticamente, empacotar strings apropriadamente para o sistema operacional de destino. O padrão é Unicode em Windows NT, o Windows 2000, Windows XP e a família Windows Server 2003. o padrão é ANSI no Windows 98 e Windows Me.

pmBestFitUseAssem

Reservado.

pmBestFitEnabled

Execute o ajuste perfeito mapeamento de caracteres Unicode que não têm uma correspondência exata no conjunto de caracteres ANSI.

pmBestFitDisabled

Não execute o ajuste perfeito mapeamento de caracteres Unicode. Nesse caso, todos os caracteres não mapeável serão substituídos por um '?'.

pmBestFitMask

Reservado.

pmThrowOnUnmappableCharUseAssem

Reservado.

pmThrowOnUnmappableCharEnabled

Lança uma exceção quando o empacotador de interoperabilidade encontra um caractere não mapeável.

pmThrowOnUnmappableCharDisabled

Não jogue uma exceção quando o empacotador de interoperabilidade encontra um caractere não mapeável.

pmThrowOnUnmappableCharMask

Reservado

pmSupportsLastError

Permitir que o receptor chamar o Win32 SetLastError a função antes de retornar do método atribuída.

pmCallConvMask

Reservado

pmCallConvWinapi

Use a plataforma padrão convenção de chamada. Por exemplo, no Windows o padrão é StdCall e Windows CE.NET é Cdecl.

pmCallConvCdecl

Use o Cdecl chamando convenção. Nesse caso, o chamador limpa a pilha. Isso permite que funções de chamada com varargs (ou seja, funções que aceitam um número variável de parâmetros).

pmCallConvStdcall

Use o StdCall chamando convenção. Nesse caso, o receptor limpa a pilha. Esta é a convenção padrão para chamar funções não gerenciadas com plataforma invocação.

pmCallConvThiscall

Use o ThisCall chamando convenção. Nesse caso, o primeiro parâmetro é o this ponteiro e é armazenado no registrador ECX. Outros parâmetros são enviados na pilha. O ThisCall convenção de chamada é usada para chamar métodos em classes exportados da DLL não gerenciada.

pmCallConvFastcall

Reservado.

pmMaxValue

Reservado.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: CorHdr.h

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Outros recursos

Enumerações de metadados