MethodImportAttributes 枚举

定义

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

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

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

字段

BestFitMappingDisable 32

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

BestFitMappingEnable 16

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

BestFitMappingMask 48

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

CallingConventionCDecl 512

指定调用约定为 CDecl。

CallingConventionFastCall 1280

指定调用约定为 FastCall。

CallingConventionMask 1792

指定调用约定。

CallingConventionStdCall 768

指定调用约定为 StdCall。

CallingConventionThisCall 1024

指定调用约定为 ThisCall。

CallingConventionWinApi 256

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

CharSetAnsi 2

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

CharSetAuto 6

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

CharSetMask 6

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

CharSetUnicode 4

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

ExactSpelling 1

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

None 0

指定默认方法导入属性。

SetLastError 64

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

ThrowOnUnmappableCharDisable 8192

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

ThrowOnUnmappableCharEnable 4096

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

ThrowOnUnmappableCharMask 12288

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

注解

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

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

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

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

适用于