DllImportAttribute.ExactSpelling Feld

Definition

Steuert, ob das Feld bewirkt, dass die CharSet Common Language Runtime eine nicht verwaltete DLL nach anderen Einstiegspunktnamen als dem angegebenen durchsucht.

public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean 

Feldwert

Beispiele

In einigen Fällen verwenden Visual Basic Entwickler die DllImportAttribute anstelle der Declare-Anweisung, um eine DLL-Funktion in verwaltetem Code zu definieren. Das Festlegen des ExactSpelling Felds ist einer dieser Fälle.

[DllImport("user32.dll", CharSet = CharSet::Ansi, ExactSpelling = true)]
int MessageBoxA(IntPtr hWnd, String^ Text,
    String^ Caption, unsigned int Type);
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);
}
Friend Class NativeMethods
    <DllImport("user32.dll", ExactSpelling:=False)>
    Friend Shared Function MessageBox(hWnd As IntPtr, lpText As String,
        lpCaption As String, uType As UInteger) As Integer
    End Function
End Class

Hinweise

Wenn falseder Name des Einstiegspunkts, der mit dem Buchstaben A angefügt wird, aufgerufen wird, wenn das DllImportAttribute.CharSet Feld festgelegt CharSet.Ansiist, und der mit dem Buchstaben W angefügte Einstiegspunktname wird aufgerufen, wenn das DllImportAttribute.CharSet Feld auf das CharSet.UnicodeFeld festgelegt ist. In der Regel legen verwaltete Compiler dieses Feld fest.

Die folgende Tabelle zeigt die Beziehung zwischen den Feldern und ExactSpelling den CharSet Feldern, basierend auf standardwerten, die von der Programmiersprache auferlegt werden. Sie können die Standardeinstellung außer Kraft setzen, aber gehen Sie vorsichtig vor.

Sprache ANSI (Amerikanisches Institut für Normung) Unicode Auto
Visual Basic ExactSpelling:=True ExactSpelling:=True ExactSpelling:=False
C# ExactSpelling=false ExactSpelling=false ExactSpelling=false
C++ ExactSpelling=false ExactSpelling=false ExactSpelling=false

Gilt für: