Condividi tramite


Enumerazione CorPinvokeMap

Specifica le opzioni per una chiamata 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;

Membri

Membro

Oggetto di descrizione

pmNoMangle

Utilizza ciascun nome di membro come specificato.

pmCharSetMask

Riservato.

pmCharSetNotSpec

Riservato.

pmCharSetAnsi

Effettua il marshalling delle stringhe come stringhe di caratteri a più byte.

pmCharSetUnicode

Effettua il marshalling delle stringhe come caratteri Unicode a 2 byte.

pmCharSetAuto

Effettua automaticamente il marshalling delle stringhe in modo appropriato per il sistema operativo di destinazione. L'impostazione predefinita è Unicode per Windows NT, Windows 2000, Windows XP e la famiglia Windows Server 2003; l'impostazione predefinita è ANSI per Windows 98 e Windows Me.

pmBestFitUseAssem

Riservato.

pmBestFitEnabled

Esegue il mapping per adattamento dei caratteri Unicode che non hanno una corrispondenza perfetta nel set di caratteri ANSI.

pmBestFitDisabled

Non eseguire il mapping per l’adattamento dei caratteri Unicode. In questo caso, tutti i caratteri dei quali non è possibile eseguire il mapping saranno sostituiti da un '? '.

pmBestFitMask

Riservato.

pmThrowOnUnmappableCharUseAssem

Riservato.

pmThrowOnUnmappableCharEnabled

Generare un'eccezione quando il gestore di marshalling di interoperabilità incontra un carattere di cui non è possibile eseguire il mapping.

pmThrowOnUnmappableCharDisabled

Non generare un'eccezione quando il gestore di marshalling di interoperabilità incontra un carattere di cui non è possibile eseguire il mapping.

pmThrowOnUnmappableCharMask

Riservato.

pmSupportsLastError

Consentire al chiamato di chiamare la funzione Win32 SetLastError prima del ritorno dal metodo con attributi.

pmCallConvMask

Riservato.

pmCallConvWinapi

Utilizzare la convenzione predefinita per le chiamate al sistema operativo. In Windows, ad esempio, l'impostazione predefinita è StdCall, mentre in Windows CE .NET è Cdecl.

pmCallConvCdecl

Utilizzare la convenzione di chiamata Cdecl. In questo caso, il chiamante pulisce lo stack. Ciò abilita le funzioni chiamanti con varargs (ovvero, funzioni che accettano un numero variabile di parametri).

pmCallConvStdcall

Utilizzare la convenzione di chiamata StdCall. In questo caso, il chiamato pulisce lo stack. Si tratta della convenzione predefinita per chiamare le funzioni non gestite con platform invoke.

pmCallConvThiscall

Utilizzare la convenzione di chiamata ThisCall. In questo caso, il primo parametro è il puntatore this ed è memorizzato nel registro ECX. Altri parametri vengono inseriti nello stack. La convenzione di chiamata ThisCall viene utilizzata per chiamare metodi su classi esportate da una DLL non gestita.

pmCallConvFastcall

Riservato.

pmMaxValue

Riservato.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorHdr.h

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Altre risorse

Enumerazioni dei metadati