共用方式為


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

請參閱

其他資源

中繼資料列舉