MethodImportAttributes Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает флаги для атрибутов импорта неуправляемого метода.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class MethodImportAttributes
[System.Flags]
public enum MethodImportAttributes
[<System.Flags>]
type MethodImportAttributes =
Public Enum MethodImportAttributes
- Наследование
- Атрибуты
Поля
BestFitMappingDisable | 32 | Указывает, что оптимальное поведение сопоставления при преобразовании символов Юникода в символы ANSI отключено. |
BestFitMappingEnable | 16 | Указывает, что при преобразовании символов Юникода в символы ANSI включено оптимальное поведение сопоставления. |
BestFitMappingMask | 48 | Указывает, включено или отключено оптимальное поведение сопоставления при преобразовании символов Юникода в символы ANSI. |
CallingConventionCDecl | 512 | Указывает, что соглашение о вызовах — CDecl. |
CallingConventionFastCall | 1280 | Указывает, что соглашение о вызовах — FastCall. |
CallingConventionMask | 1792 | Указывает соглашение о вызовах. |
CallingConventionStdCall | 768 | Указывает, что соглашение о вызовах — StdCall. |
CallingConventionThisCall | 1024 | Указывает, что соглашение о вызовах — ThisCall. |
CallingConventionWinApi | 256 | Указывает, что используется соглашение о вызовах платформы по умолчанию . |
CharSetAnsi | 2 | Указывает, что строки маршалируются как многобайтовые символьные строки: системная кодовая страница Windows (ANSI) по умолчанию в Windows и UTF-8 в Unix. |
CharSetAuto | 6 | Указывает, что набор символов выбирается автоматически. Дополнительные сведения см. в разделе Наборы символов и маршалирование. |
CharSetMask | 6 | Задает набор символов, используемый для маршалинга строк. |
CharSetUnicode | 4 | Указывает, что строки маршалируются как 2-байтовые символьные строки Юникода. |
ExactSpelling | 1 | Указывает, что среда CLR не должна использовать имена точек входа с суффиксами, характерными для набора символов, при поиске импортированного метода. |
None | 0 | Задает атрибуты импорта метода по умолчанию. |
SetLastError | 64 | Указывает, что импортированный метод вызывает функцию Windows API SetLastError перед возвратом. |
ThrowOnUnmappableCharDisable | 8192 | Указывает, что исключение не должно вызываться при преобразовании неприменимого символа Юникода в символ ANSI. |
ThrowOnUnmappableCharEnable | 4096 | Указывает, что при преобразовании неприменимого символа Юникода в символ ANSI должно вызываться исключение. |
ThrowOnUnmappableCharMask | 12288 | Указывает, следует ли создавать исключение при преобразовании неприменимого символа Юникода в символ ANSI. |
Комментарии
Атрибуты импорта метода используются со структурой MethodImport .
Чтобы проверка, имеет ли значение этого перечисления определенный флаг, объедините это значение с соответствующей константой mask с помощью побитовой операции AND (&
в C#) и сравните его результат с константой флага, которую необходимо проверка. Например, чтобы проверка для соглашения о вызовах CDecl, используйте следующий код:
if((attributes & MethodImportAttributes.CallingConventionMask) == MethodImportAttributes.CallingConventionCDecl)
{
// The calling convention is CDecl
}
Дополнительные сведения об импорте неуправляемого метода и значении этих атрибутов см. в разделе DllImportAttribute.