MethodImportAttributes 枚举

定义

指定非托管方法导入属性的标志。

此枚举支持其成员值的按位组合。

public enum class MethodImportAttributes
[System.Flags]
public enum MethodImportAttributes
[<System.Flags>]
type MethodImportAttributes = 
Public Enum MethodImportAttributes
继承
MethodImportAttributes
属性

字段

名称 说明
None 0

指定默认方法导入属性。

ExactSpelling 1

指定在搜索导入的方法时,公共语言运行时不应尝试使用字符集特定的后缀的入口点名称。

CharSetAnsi 2

指定字符串封送为多字节字符串:Windows上的系统默认Windows(ANSI)代码页和 Unix 上的 UTF-8。

CharSetUnicode 4

指定字符串作为 Unicode 2 字节字符串进行封送。

CharSetAuto 6

指定自动选择字符集。 有关详细信息 ,请参阅 Charset 和封送 处理。

CharSetMask 6

指定用于字符串封送的字符集。

BestFitMappingEnable 16

指定在将 Unicode 字符转换为 ANSI 字符时最适合的映射行为。

BestFitMappingDisable 32

指定在将 Unicode 字符转换为 ANSI 字符时的最佳映射行为被禁用。

BestFitMappingMask 48

指定在将 Unicode 字符转换为 ANSI 字符时,是启用还是禁用最佳映射行为。

SetLastError 64

指定导入的方法在返回之前调用 SetLastError Windows API 函数。

CallingConventionWinApi 256

指定使用 默认平台调用约定

CallingConventionCDecl 512

指定调用约定为 CDecl。

CallingConventionStdCall 768

指定调用约定为 StdCall。

CallingConventionThisCall 1024

指定调用约定为 ThisCall。

CallingConventionFastCall 1280

指定调用约定为 FastCall。

CallingConventionMask 1792

指定调用约定。

ThrowOnUnmappableCharEnable 4096

指定当不可应用的 Unicode 字符转换为 ANSI 字符时,应引发异常。

ThrowOnUnmappableCharDisable 8192

指定当不可应用的 Unicode 字符转换为 ANSI 字符时,不应引发异常。

ThrowOnUnmappableCharMask 12288

指定在将不可应用的 Unicode 字符转换为 ANSI 字符时是否应引发异常。

注解

方法导入属性与结构一起使用 MethodImport

若要检查此枚举的值是否具有特定标志,请使用按位 AND 运算(& 在 C# 中)将该值与相应的掩码常量组合在一起,并将其结果与需要检查的标志的常量进行比较。 例如,若要检查 CDecl 调用约定,请使用如下所示的代码:

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

有关非托管方法导入和这些属性的含义的详细信息,请参阅 DllImportAttribute

适用于