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

Определение

Задает флаги для атрибутов импорта неуправляемого метода.Specifies flags for the unmanaged method import attributes.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

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

Поля

BestFitMappingDisable 32

Указывает, что поведение наилучшего сопоставления при преобразовании символов Юникода в символы ANSI отключено.Specifies that the best-fit mapping behavior when converting Unicode characters to ANSI characters is disabled.

BestFitMappingEnable 16

Указывает, что поведение наилучшего сопоставления при преобразовании символов Юникода в символы ANSI включено.Specifies that the best-fit mapping behavior when converting Unicode characters to ANSI characters is enabled.

BestFitMappingMask 48

Указывает, включена или отключена возможность наилучшего соответствия при преобразовании символов Юникода в символы ANSI.Specifies whether the best-fit mapping behavior when converting Unicode characters to ANSI characters is enabled or disabled.

CallingConventionCDecl 512

Указывает, что соглашение о вызовах — CDecl.Specifies that the calling convention is CDecl.

CallingConventionFastCall 1280

Указывает, что соглашение о вызовах — FastCall.Specifies that the calling convention is FastCall.

CallingConventionMask 1792

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

CallingConventionStdCall 768

Указывает, что соглашение о вызовах — StdCall.Specifies that the calling convention is StdCall.

CallingConventionThisCall 1024

Указывает, что соглашение о вызовах — ThisCall.Specifies that the calling convention is ThisCall.

CallingConventionWinApi 256

Указывает, что используется соглашение о вызовах платформы по умолчанию (StdCall в Windows x86, CDecl в Linux x86).Specifies that the default platform calling convention is used (StdCall on Windows x86, CDecl on Linux x86).

CharSetAnsi 2

Указывает, что строки упакованы как многобайтовые символьные строки: кодовая страница Windows (ANSI) по умолчанию в Windows и UTF-8 в UNIX.Specifies that strings are marshalled as multiple-byte character strings: the system default Windows (ANSI) code page on Windows, and UTF-8 on Unix.

CharSetAuto 6

Указывает, что кодировка выбрана автоматически.Specifies that the character set is chosen automatically. Дополнительные сведения см. в разделе Наборы символов и маршалирование.See Charsets and marshaling for details.

CharSetMask 6

Задает кодировку, используемую для маршалирования строк.Specifies the character set used for string marshalling.

CharSetUnicode 4

Указывает, что строки обрабатываются как строки символов Юникода длиной 2 байта.Specifies that strings are marshalled as Unicode 2-byte character strings.

ExactSpelling 1

Указывает, что среда CLR не должна пытаться использовать имена точек входа с суффиксами, специфичными для charset, при поиске импортированного метода.Specifies that the Common Language Runtime should not try an entry-point names with charset-specific suffixes when searching for the imported method.

None 0

Указывает атрибуты импорта метода по умолчанию.Specifies default method import attributes.

SetLastError 64

Указывает, что импортированный метод вызывает функцию Windows API Сетластеррор перед возвратом.Specifies that the imported method calls the SetLastError Windows API function before returning.

ThrowOnUnmappableCharDisable 8192

Указывает, что исключение не должно выдаваться при преобразовании несопоставимого символа Юникода в символ ANSI.Specifies that an exception should not be thrown when an unmappable Unicode character is converted to an ANSI character.

ThrowOnUnmappableCharEnable 4096

Указывает, что при преобразовании несопоставимого символа Юникода в символ ANSI должно быть выдано исключение.Specifies that an exception should be thrown when an unmappable Unicode character is converted to an ANSI character.

ThrowOnUnmappableCharMask 12288

Указывает, должно ли вызываться исключение при преобразовании несопоставимого символа Юникода в символ ANSI.Specifies whether an exception should be thrown when an unmappable Unicode character is converted to an ANSI character.

Комментарии

Атрибуты импорта метода используются со MethodImport структурой.Method import attributes are used with the MethodImport structure.

Чтобы проверить, имеет ли значение этого перечисления конкретный флаг, объедините это значение с соответствующей константой маски с помощью побитовой операции AND ( & в C#) и сравните ее результат с константой флага, который необходимо проверить.To check whether a value of this enumeration has the specific flag, combine that value with the corresponding mask constant using the bitwise AND operation (& in C#) and compare its result with the constant of the flag you need to check. Например, чтобы проверить соглашение о вызовах CDecl, используйте следующий код:For example, to check for CDecl calling convention, use a code like this:

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

Дополнительные сведения об импорте неуправляемого метода и значении этих атрибутов см. в разделе DllImportAttribute .For more information about the unmanaged method import and the meaning of these attributes, see DllImportAttribute.

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