DllImportAttribute.ExactSpelling Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Steuert, ob das CharSet-Feld die Common Language Runtime anweist, eine nicht verwaltete DLL nach anderen Einstiegspunktnamen als dem angegebenen zu durchsuchen.
public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Feldwert
Beispiele
In einigen Fällen verwenden Visual Basic-Entwickler anstelle der DllImportAttributeDeclare
-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 false
, wird der Mit dem Buchstaben A angefügte Einstiegspunktname aufgerufen, wenn das DllImportAttribute.CharSet Feld auf CharSet.Ansi
festgelegt ist, und der Mit dem Buchstaben W angefügte Einstiegspunktname wird aufgerufen, wenn das DllImportAttribute.CharSet Feld auf CharSet.Unicode
festgelegt ist. In der Regel legen verwaltete Compiler dieses Feld fest.
Die folgende Tabelle zeigt die Beziehung zwischen den CharSet Feldern und ExactSpelling basierend auf den Standardwerten, die von der Programmiersprache auferlegt werden. Sie können die Standardeinstellung überschreiben, tun Sie dies jedoch mit Vorsicht.
Sprache | ANSI | Unicode | Automatisch |
---|---|---|---|
Visual Basic | ExactSpelling:=True | ExactSpelling:=True | ExactSpelling:=False |
C# | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |
C++ | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |