Перечисление 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 NT, Windows 2000, Windows XP и семействе Windows Server 2003 используется Юникод, а в Windows 98 и Windows Me — ANSI. |
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 |
Зарезервировано. |
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: CorHdr.h
Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0