Share via


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 呼び出し規則を使用します。 この場合、呼び出し先はスタックをクリーンします。 これは、プラットフォーム呼び出しでアンマネージ関数を呼び出すための既定の規約です。
pmCallConvThiscall ThisCall 呼び出し規則を使用します。 この場合、最初のパラメーターは this ポインターで、レジスタ ECX に格納されます。 その他のパラメーターは、スタックにプッシュされます。 ThisCall 呼び出し規約は、アンマネージ DLL からエクスポートしたクラスのメソッドを呼び出すために使用します。
pmCallConvFastcall 予約済み。
pmMaxValue 予約済み。

必要条件

:システム要件」を参照してください。

ヘッダー: CorHdr.h

.NET Framework のバージョン: 1.0 以降で使用可能

関連項目