次の方法で共有


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

相互運用マーシャラーがマップできない文字を検出したときに例外をスローします。

pmThrowOnUnmappableCharDisabled

相互運用マーシャラーがマップできない文字を検出した場合でも例外をスローしません。

pmThrowOnUnmappableCharMask

予約されています。

pmSupportsLastError

属性付きメソッドから戻る前に、呼び出し先が Win32 SetLastError 関数を呼び出すことができるようにします。

pmCallConvMask

予約されています。

pmCallConvWinapi

プラットフォームの既定の呼び出し規約を使用します。 たとえば、Windows では StdCall、Windows CE .NET では Cdecl が既定値になります。

pmCallConvCdecl

Cdecl 呼び出し既約を使用します。 この場合、呼び出し元がスタックを消去します。 これにより、varargs を使用して関数を呼び出すことができます (つまり、可変数のパラメーターを受け取る関数を呼び出すことができます)。

pmCallConvStdcall

StdCall 呼び出し既約を使用します。 この場合、呼び出し先がスタックを消去します。 これは、プラットフォーム呼び出しでアンマネージ関数を呼び出すための既定の規約です。

pmCallConvThiscall

ThisCall 呼び出し既約を使用します。 この場合、最初のパラメーターは this ポインターで、レジスタ ECX に格納されます。 その他のパラメーターは、スタックにプッシュされます。 ThisCall 呼び出し規約は、アンマネージ 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

参照

その他の技術情報

メタデータ列挙体