Condividi tramite


Enumerazione CorPinvokeMap

Specifica le opzioni per una chiamata PInvoke.

Sintassi

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;  

Members

Membro Descrizione
pmNoMangle Usare ogni nome membro come specificato.
pmCharSetMask Riservato.
pmCharSetNotSpec Riservato.
pmCharSetAnsi Esegue il marshalling delle stringhe come stringhe di caratteri a più byte.
pmCharSetUnicode Esegue il marshalling delle stringhe come caratteri Unicode a 2 byte.
pmCharSetAuto Esegue automaticamente il marshalling delle stringhe in modo appropriato per il sistema operativo di destinazione. Il valore predefinito è Unicode in Windows.
pmBestFitUseAssem Riservato.
pmBestFitEnabled Eseguire il mapping ottimale dei caratteri Unicode che mancano di una corrispondenza esatta nel set di caratteri ANSI.
pmBestFitDisabled Non eseguire il mapping ottimale dei caratteri Unicode. In questo caso, tutti i caratteri non validi verranno sostituiti da un '?'.
pmBestFitMask Riservato.
pmThrowOnUnmappableCharUseAssem Riservato.
pmThrowOnUnmappableCharEnabled Generare un'eccezione quando il marshaller di interoperabilità rileva un carattere non valido.
pmThrowOnUnmappableCharDisabled Non generare un'eccezione quando il marshaller di interoperabilità rileva un carattere non valido.
pmThrowOnUnmappableCharMask Riservato
pmSupportsLastError Consenti al chiamante di chiamare la funzione Win32 SetLastError prima di restituire dal metodo con attributi.
pmCallConvMask Riservato
pmCallConvWinapi Usare la convenzione di chiamata alla piattaforma predefinita. Ad esempio, in Windows il valore predefinito è StdCall e in Windows CE .NET è Cdecl.
pmCallConvCdecl Usare la Cdecl convenzione chiamante. In questo caso, il chiamante pulisce lo stack. Ciò consente di chiamare le funzioni con varargs , ovvero funzioni che accettano un numero variabile di parametri.
pmCallConvStdcall Usare la StdCall convenzione chiamante. In questo caso, il chiamante pulisce lo stack. Si tratta della convenzione predefinita per chiamare funzioni non gestite tramite platform invoke.
pmCallConvThiscall Usare la ThisCall convenzione chiamante. In questo caso, il primo parametro è il this puntatore e viene archiviato nel registro ECX. Altri parametri vengono inseriti nello stack. La ThisCall convenzione chiamante viene usata per chiamare i metodi sulle 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: Disponibile da 1.0

Vedi anche