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