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 NT、Windows 2000、Windows XP 和 Windows Server 2003 系列上,預設為 Unicode;在 Windows 98 和 Windows Me 上,預設為 ANSI。 |
pmBestFitUseAssem |
保留的。 |
pmBestFitEnabled |
為缺少完全相符 ANSI 字元集的 Unicode 字元執行自動調整對應。 |
pmBestFitDisabled |
不執行 Unicode 字元的自動調整對應。 在這種情況下,所有無法對應的字元都會被 '?' 取代。 |
pmBestFitMask |
保留的。 |
pmThrowOnUnmappableCharUseAssem |
保留的。 |
pmThrowOnUnmappableCharEnabled |
當 Interop 封送處理器遇到無法對應的字元時,擲回例外狀況。 |
pmThrowOnUnmappableCharDisabled |
當 Interop 封送處理器遇到無法對應的字元時,不擲回例外狀況。 |
pmThrowOnUnmappableCharMask |
保留的。 |
pmSupportsLastError |
允許被呼叫端在屬性方法傳回前呼叫 Win32 SetLastError 函式。 |
pmCallConvMask |
保留的。 |
pmCallConvWinapi |
請使用預設的平台呼叫慣例。 例如,在 Windows 上的預設值為 StdCall,在 Windows CE .NET 上則為 Cdecl。 |
pmCallConvCdecl |
請使用 Cdecl 呼叫慣例。 在這種情況下,呼叫端會清除堆疊。 這會啟用有 varargs 的呼叫函式 (亦即,接受多個參數的函式)。 |
pmCallConvStdcall |
請使用 StdCall 呼叫慣例。 在這種情況下,被呼叫端會清除堆疊。 這是針對用平台叫用呼叫 Unmanaged 函式的預設慣例。 |
pmCallConvThiscall |
請使用 ThisCall 呼叫慣例。 在這種情況下,第一個參數為 this 指標且儲存在暫存器 ECX 中。 其他參數會被推入至堆疊。 ThisCall 呼叫慣例是用來呼叫從 Unmanaged DLL 匯出之類別上的方法。 |
pmCallConvFastcall |
保留的。 |
pmMaxValue |
保留的。 |
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**CorHdr.h
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0