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


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

Определение

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

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

public enum class MethodImportAttributes
[System.Flags]
public enum MethodImportAttributes
[<System.Flags>]
type MethodImportAttributes = 
Public Enum MethodImportAttributes
Наследование
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.

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