MethodImportAttributes 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定非托管方法导入属性的标志。
此枚举支持其成员值的按位组合。
public enum class MethodImportAttributes
[System.Flags]
public enum MethodImportAttributes
[<System.Flags>]
type MethodImportAttributes =
Public Enum 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。