Перечисление 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.
См. также раздел
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.