MethodImportAttributes 列挙型

定義

アンマネージ メソッドのインポート属性のフラグを指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

public enum class MethodImportAttributes
[System.Flags]
public enum MethodImportAttributes
[<System.Flags>]
type MethodImportAttributes = 
Public Enum MethodImportAttributes
継承
MethodImportAttributes
属性

フィールド

名前 説明
None 0

既定のメソッド インポート属性を指定します。

ExactSpelling 1

共通言語ランタイムが、インポートされたメソッドを検索するときに、文字セット固有のサフィックスを持つエントリ ポイント名を試行しないように指定します。

CharSetAnsi 2

文字列を複数バイトの文字列としてマーシャリングすることを指定します。システムの既定のWindows (ANSI) コード ページ (Windows)、Unix の場合は UTF-8 です。

CharSetUnicode 4

文字列を Unicode 2 バイト文字列としてマーシャリングすることを指定します。

CharSetAuto 6

文字セットを自動的に選択することを指定します。 詳細については、「 文字セットとマーシャリング 」を参照してください。

CharSetMask 6

文字列マーシャリングに使用する文字セットを指定します。

BestFitMappingEnable 16

Unicode 文字を ANSI 文字に変換するときの最適なマッピング動作が有効であることを指定します。

BestFitMappingDisable 32

Unicode 文字を ANSI 文字に変換するときの最適なマッピング動作を無効にすることを指定します。

BestFitMappingMask 48

Unicode 文字を ANSI 文字に変換するときの最適なマッピング動作を有効または無効にするかどうかを指定します。

SetLastError 64

返す前に、インポートされたメソッドが SetLastError Windows API 関数を呼び出すように指定します。

CallingConventionWinApi 256

既定のプラットフォーム呼び出し規則が使用されることを指定します。

CallingConventionCDecl 512

呼び出し規約が CDecl であることを指定します。

CallingConventionStdCall 768

呼び出し規則が StdCall であることを指定します。

CallingConventionThisCall 1024

呼び出し規約が ThisCall であることを指定します。

CallingConventionFastCall 1280

呼び出し規約が FastCall であることを指定します。

CallingConventionMask 1792

呼び出し規約を指定します。

ThrowOnUnmappableCharEnable 4096

適用できない Unicode 文字を ANSI 文字に変換するときに例外をスローすることを指定します。

ThrowOnUnmappableCharDisable 8192

適用できない Unicode 文字が ANSI 文字に変換されるときに例外をスローしないように指定します。

ThrowOnUnmappableCharMask 12288

適用できない Unicode 文字を ANSI 文字に変換するときに例外をスローするかどうかを指定します。

注釈

メソッドのインポート属性は、 MethodImport 構造体と共に使用されます。

この列挙体の値に特定のフラグがあるかどうかを確認するには、ビットごとの AND 演算 (C# で& ) を使用してその値を対応するマスク定数と結合し、その結果を確認する必要があるフラグの定数と比較します。 たとえば、CDecl 呼び出し規則を確認するには、次のようなコードを使用します。

if((attributes & MethodImportAttributes.CallingConventionMask) == MethodImportAttributes.CallingConventionCDecl)
{
    // The calling convention is CDecl
}

アンマネージ メソッドのインポートとこれらの属性の意味の詳細については、 DllImportAttributeを参照してください。

適用対象