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

Определение

Задает флаги для атрибутов импорта неуправляемых методов.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class MethodImportAttributes
[System.Flags]
public enum MethodImportAttributes
[<System.Flags>]
type MethodImportAttributes = 
Public Enum MethodImportAttributes
Наследование
MethodImportAttributes
Атрибуты

Поля

Имя Значение Описание
None 0

Задает атрибуты импорта метода по умолчанию.

ExactSpelling 1

Указывает, что среда CLR не должна пытаться использовать имена точек входа с суффиксами для конкретного набора при поиске импортированного метода.

CharSetAnsi 2

Указывает, что строки маршалируются в виде строк с несколькими байтами: кодовая страница по умолчанию по умолчанию Windows (ANSI) на Windows и UTF-8 в Unix.

CharSetUnicode 4

Указывает, что строки маршаллируются как строки символов Юникода 2-байтов.

CharSetAuto 6

Указывает, что набор символов выбирается автоматически. Дополнительные сведения см. в разделе Charsets и маршалинг .

CharSetMask 6

Задает набор символов, используемый для маршалинга строк.

BestFitMappingEnable 16

Указывает, что наиболее подходящее поведение сопоставления при преобразовании символов Юникода в символы ANSI включено.

BestFitMappingDisable 32

Указывает, что оптимально подходит поведение сопоставления при преобразовании символов Юникода в символы ANSI отключено.

BestFitMappingMask 48

Указывает, включено ли или отключено ли оптимальное поведение сопоставления символов Юникода в символы ANSI.

SetLastError 64

Указывает, что импортированный метод вызывает функцию SetLastError Windows API перед возвратом.

CallingConventionWinApi 256

Указывает, что используется соглашение о вызовах платформы по умолчанию .

CallingConventionCDecl 512

Указывает, что соглашение о вызове — CDecl.

CallingConventionStdCall 768

Указывает, что соглашение о вызове — StdCall.

CallingConventionThisCall 1024

Указывает, что соглашение о вызове — ThisCall.

CallingConventionFastCall 1280

Указывает, что соглашение о вызове — FastCall.

CallingConventionMask 1792

Указывает соглашение о вызовах.

ThrowOnUnmappableCharEnable 4096

Указывает, что исключение должно быть создано при преобразовании символа Юникода без использования в символ ANSI.

ThrowOnUnmappableCharDisable 8192

Указывает, что исключение не должно вызываться при преобразовании символа Юникода в символ ANSI.

ThrowOnUnmappableCharMask 12288

Указывает, следует ли создавать исключение при преобразовании символа Юникода без использования в символ ANSI.

Комментарии

Атрибуты импорта метода используются со структурой MethodImport .

Чтобы проверить, имеет ли значение этого перечисления конкретный флаг, объедините это значение с соответствующей константой маски с помощью побитовой операции AND (& в C#) и сравните его результат с константой флага, которую необходимо проверить. Например, чтобы проверить соглашение о вызовах CDecl, используйте следующий код:

if((attributes & MethodImportAttributes.CallingConventionMask) == MethodImportAttributes.CallingConventionCDecl)
{
    // The calling convention is CDecl
}

Дополнительные сведения об импорте неуправляемого метода и значении этих атрибутов см. в разделе DllImportAttribute.

Применяется к