CorPinvokeMap 枚举

指定 PInvoke 调用的选项。

语法

typedef enum  CorPinvokeMap {  
  
    pmNoMangle          = 0x0001,  
  
    pmCharSetMask       = 0x0006,  
    pmCharSetNotSpec    = 0x0000,  
    pmCharSetAnsi       = 0x0002,  
    pmCharSetUnicode    = 0x0004,  
    pmCharSetAuto       = 0x0006,  
  
    pmBestFitUseAssem   = 0x0000,  
    pmBestFitEnabled    = 0x0010,  
    pmBestFitDisabled   = 0x0020,  
    pmBestFitMask       = 0x0030,  
  
    pmThrowOnUnmappableCharUseAssem   = 0x0000,  
    pmThrowOnUnmappableCharEnabled    = 0x1000,  
    pmThrowOnUnmappableCharDisabled   = 0x2000,  
    pmThrowOnUnmappableCharMask       = 0x3000,  
  
    pmSupportsLastError = 0x0040,
  
    pmCallConvMask      = 0x0700,  
    pmCallConvWinapi    = 0x0100,  
    pmCallConvCdecl     = 0x0200,  
    pmCallConvStdcall   = 0x0300,  
    pmCallConvThiscall  = 0x0400,  
    pmCallConvFastcall  = 0x0500,  
  
    pmMaxValue          = 0xFFFF  
  
} CorPinvokeMap;  

成员

成员 说明
pmNoMangle 根据指定使用每个成员名称。
pmCharSetMask 保留。
pmCharSetNotSpec 保留。
pmCharSetAnsi 以多字节字符串的形式封送字符串。
pmCharSetUnicode 以 Unicode 2 字节字符的形式封送字符串。
pmCharSetAuto 针对目标操作系统适当地自动封送字符串。 Windows 上默认为 Unicode。
pmBestFitUseAssem 保留。
pmBestFitEnabled 对 ANSI 字符集中缺少精确匹配的 Unicode 字符执行最佳匹配映射。
pmBestFitDisabled 不要执行 Unicode 字符的最佳匹配映射。 在这种情况下,所有不可映射的字符都将被替换为“?”。
pmBestFitMask 保留。
pmThrowOnUnmappableCharUseAssem 保留。
pmThrowOnUnmappableCharEnabled 当互操作封送处理程序遇到不可映射的字符时引发异常。
pmThrowOnUnmappableCharDisabled 当互操作封送处理程序遇到不可映射的字符时不引发异常。
pmThrowOnUnmappableCharMask 保留
pmSupportsLastError 允许被调用方在从属性化方法返回之前调用 Win32 SetLastError 函数。
pmCallConvMask 保留
pmCallConvWinapi 使用默认的平台调用约定。 例如,在 Windows 上默认为 StdCall,在 Windows CE.NET 上默认为 Cdecl
pmCallConvCdecl 使用 Cdecl 调用约定。 在这种情况下,调用方将清理堆栈。 这允许使用 varargs 调用函数(即,接受可变数量参数的函数)。
pmCallConvStdcall 使用 StdCall 调用约定。 在这种情况下,被调用方将清理堆栈。 这是使用平台 invoke 调用非托管函数的默认约定。
pmCallConvThiscall 使用 ThisCall 调用约定。 在这种情况下,第一个参数是 this 指针,它存储在寄存器 ECX 中。 其他参数被推送到堆栈上。 ThisCall 调用约定用于对从非托管 DLL 导出的类调用方法。
pmCallConvFastcall 保留。
pmMaxValue 保留。

要求

平台:请参阅系统要求

标头:CorHdr.h

.NET Framework 版本:自 1.0 起可用

另请参阅