Partager via


CorPinvokeMap, énumération

Spécifie les options d’un appel PInvoke.

Syntaxe

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;  

Membres

Membre Description
pmNoMangle Utilisez chaque nom de membre comme spécifié.
pmCharSetMask Réservé.
pmCharSetNotSpec Réservé.
pmCharSetAnsi Les chaînes sont marshalées sous forme de chaînes de caractères à plusieurs octets.
pmCharSetUnicode Les chaînes sont marshalées sous forme de caractères Unicode de 2 octets.
pmCharSetAuto Les chaînes sont automatiquement marshalées, comme requis par le système d'exploitation cible. La valeur par défaut est Unicode sur Windows.
pmBestFitUseAssem Réservé.
pmBestFitEnabled Effectuez le mappage le mieux adapté des caractères Unicode qui ne correspondent pas exactement dans le jeu de caractères ANSI.
pmBestFitDisabled N’effectuez pas le mappage le mieux adapté des caractères Unicode. Dans ce cas, tous les caractères non mappables seront remplacés par un ‘?’.
pmBestFitMask Réservé.
pmThrowOnUnmappableCharUseAssem Réservé.
pmThrowOnUnmappableCharEnabled Lève une exception lorsque le marshaller d’interopérabilité rencontre un caractère non mappable.
pmThrowOnUnmappableCharDisabled Ne lève pas d’exception lorsque le marshaller d’interopérabilité rencontre un caractère non mappable.
pmThrowOnUnmappableCharMask Réservé
pmSupportsLastError Autorisez l’appelé à appeler la fonction Win32 SetLastError avant de retourner à partir de la méthode attribuée.
pmCallConvMask Réservé
pmCallConvWinapi Utilisez la convention d’appel de plateforme par défaut. Par exemple, sur Windows, le champ par défaut est StdCall et sur Windows CE .NET, il s’agit du champ Cdecl.
pmCallConvCdecl Utilisez la convention d’appel Cdecl. Dans ce cas, l’appelant nettoie la pile. Cela permet d’appeler des fonctions avec varargs (autrement dit, les fonctions qui acceptent un nombre variable de paramètres).
pmCallConvStdcall Utilisez la convention d’appel StdCall. Dans ce cas, l’appelé nettoie la pile. Il s'agit de la convention par défaut pour appeler les fonctions non managées avec appel de code non managé.
pmCallConvThiscall Utilisez la convention d’appel ThisCall. Dans ce cas, le premier paramètre est le pointeur this et est stocké dans le Registre ECX. D'autres paramètres font l'objet d'un push sur la pile. La convention d’appel ThisCall est utilisée pour appeler des méthodes sur des classes exportées à partir d’une DLL non managée.
pmCallConvFastcall Réservé.
pmMaxValue Réservé.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorHdr.h

Versions de .NET Framework : disponible depuis la version 1.0

Voir aussi