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 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 |