DllImportAttribute.ExactSpelling フィールド

定義

CharSet フィールドで、指定された名前以外のエントリ ポイント名をアンマネージ DLL から共通言語ランタイムに検索させるかどうかを制御します。

public bool ExactSpelling;

フィールド値

場合によっては、Visual Basic 開発者は、 ステートメントを使用する代わりに を使用DllImportAttributeDeclareして、マネージド コードで DLL 関数を定義します。 フィールドの ExactSpelling 設定は、その 1 つです。

internal static class NativeMethods
{
    [DllImport("user32.dll", CharSet = CharSet.Unicode,
        ExactSpelling = true)]
    internal static extern int MessageBoxW(
        IntPtr hWnd, string lpText, string lpCption, uint uType);
}

注釈

の場合false、フィールドが に設定されている場合DllImportAttribute.CharSet、文字 A で追加されたエントリ ポイント名が呼び出され、フィールドが にCharSet.Ansi設定CharSet.Unicodeされている場合DllImportAttribute.CharSetは、文字 W で追加されたエントリ ポイント名が呼び出されます。 通常、マネージド コンパイラはこのフィールドを設定します。

次の表は、プログラミング言語によって課される既定値に基づいて、 フィールドと ExactSpelling フィールドの関係CharSetを示しています。 既定の設定はオーバーライドできますが、慎重に行ってください。

Language ANSI Unicode 自動
Visual Basic ExactSpelling:=True ExactSpelling:=True ExactSpelling:=False
C# ExactSpelling=false ExactSpelling=false ExactSpelling=false
C++ ExactSpelling=false ExactSpelling=false ExactSpelling=false

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0