Partager via


CorPinvokeMap, énumération

Spécifie les options d'un appel 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;

Membres

Membre

Description

pmNoMangle

Utilise chaque nom de membre comme indiqué.

pmCharSetMask

Réservé.

pmCharSetNotSpec

Réservé.

pmCharSetAnsi

Les chaînes sont marshalées sous forme de chaînes de caractères à plusieurs octets.

pmCharSetUnicode

Marshale les chaînes sous forme de caractères Unicode à 2 octets.

pmCharSetAuto

Marshale automatiquement les chaînes en les adaptant au système d'exploitation cible. La valeur par défaut est Unicode sur Windows NT, Windows 2000, Windows XP et la famille Windows Server 2003. La valeur par défaut est ANSI sur Windows 98 et Windows ME.

pmBestFitUseAssem

Réservé.

pmBestFitEnabled

Effectue un mappage ajusté des caractères Unicode qui ne disposent pas d'une correspondance exacte dans le jeu de caractères ANSI.

pmBestFitDisabled

N'effectue pas de mappage ajusté des caractères Unicode. Dans ce cas, tous les caractères non mappables sont remplacés par un « ? ».

pmBestFitMask

Réservé.

pmThrowOnUnmappableCharUseAssem

Réservé.

pmThrowOnUnmappableCharEnabled

Lève une exception lorsque le marshaleur d'interopérabilité rencontre un caractère non mappable.

pmThrowOnUnmappableCharDisabled

Ne lève pas d'exception lorsque le marshaleur d'interopérabilité rencontre un caractère non mappable.

pmThrowOnUnmappableCharMask

Réservé.

pmSupportsLastError

Permet à l'appelé d'appeler la fonction SetLastError Win32 avant de retourner une valeur à partir de la méthode avec attributs.

pmCallConvMask

Réservé.

pmCallConvWinapi

Utilise la convention d'appel de plateforme par défaut. Par exemple, la valeur par défaut est StdCall sur Windows et Cdecl sur Windows CE .NET.

pmCallConvCdecl

Utilise la convention d'appel Cdecl. Dans ce cas, c'est l'appelant qui nettoie la pile. Cela permet d'appeler des fonctions avec varargs (autrement dit, des fonctions qui acceptent un nombre variable de paramètres).

pmCallConvStdcall

Utilise la convention d'appel StdCall. Dans ce cas, c'est l'appelé qui nettoie la pile. Il s'agit de la convention d'appel par défaut pour les fonctions non managées avec appel de code non managé.

pmCallConvThiscall

Utilise la convention d'appel ThisCall. Dans ce cas, le premier paramètre est le pointeur this qui est stocké dans registre ECX. D'autres paramètres font l'objet d'un push sur la pile. La convention d'appel ThisCall permet d'appeler des méthodes sur des classes exportées à partir d'une DLL non managée.

pmCallConvFastcall

Réservé.

pmMaxValue

Réservé.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : CorHdr.h

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Autres ressources

Énumérations de métadonnées