Поделиться через


Перечисление CorPinvokeMap

Задает параметры для вызова 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;  

Элементы

Член Описание
pmNoMangle Используйте имя каждого члена, как указано.
pmCharSetMask Зарезервировано.
pmCharSetNotSpec Зарезервировано.
pmCharSetAnsi Маршалирует строки в виде строк многобайтовых символов.
pmCharSetUnicode Маршалирует строки в виде 2-байтных символов Юникода.
pmCharSetAuto Выполняет автоматический маршалинг строк способом, соответствующим целевой операционной системе. Значение по умолчанию — Юникод в Windows.
pmBestFitUseAssem Зарезервировано.
pmBestFitEnabled Выполните наилучшее сопоставление символов Юникода, которым не хватает точного совпадения в наборе символов ANSI.
pmBestFitDisabled Не выполняйте оптимальное сопоставление символов Юникода. В этом случае все неприменимые символы будут заменены символом "?".
pmBestFitMask Зарезервировано.
pmThrowOnUnmappableCharUseAssem Зарезервировано.
pmThrowOnUnmappableCharEnabled Создайте исключение, когда маршализатор взаимодействия обнаруживает неприменимый символ.
pmThrowOnUnmappableCharDisabled Не создавайте исключение, если маршализатор взаимодействия обнаруживает неприменимый символ.
pmThrowOnUnmappableCharMask Зарезервировано
pmSupportsLastError Разрешите вызываемой функции Win32 SetLastError перед возвратом из метода с атрибутом.
pmCallConvMask Зарезервировано
pmCallConvWinapi Используйте соглашение о вызовах платформы по умолчанию. Например, в Windows по умолчанию используется значение StdCall , а в Windows CE .NET — Cdecl.
pmCallConvCdecl Используйте соглашение о вызовах Cdecl . В этом случае вызывающий объект очищает стек. Это позволяет вызывать функции с varargs (т. е. функции, принимаюющие переменное число параметров).
pmCallConvStdcall Используйте соглашение о вызовах StdCall . В этом случае вызываемый объект очищает стек. Это соглашение, используемое по умолчанию для вызова неуправляемых функций с вызовом неуправляемого кода.
pmCallConvThiscall Используйте соглашение о вызовах ThisCall . В этом случае первый параметр является указателем this и хранится в ecx регистра. Другие параметры помещаются в стек. Соглашение ThisCall о вызовах используется для вызова методов для классов, экспортированных из неуправляемой библиотеки DLL.
pmCallConvFastcall Зарезервировано.
pmMaxValue Зарезервировано.

Требования

Платформы: см. раздел Требования к системе.

Заголовка: CorHdr.h

версии платформа .NET Framework: доступно с версии 1.0.

См. также раздел