DllImportAttribute.ExactSpelling Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Contrôle si le champ CharSet déclenche la recherche de noms, par le Common Language Runtime, de points d'entrée autres que celui spécifié dans la DLL non managée.
public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Valeur de champ
Exemples
Dans certains cas, les développeurs Visual Basic utilisent l’instruction DllImportAttribute, au lieu d’utiliser l’instruction Declare
, pour définir une fonction DLL dans du code managé. La définition du ExactSpelling champ est l’un de ces cas.
[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
Remarques
Si false
, le nom du point d’entrée ajouté à la lettre A est appelé lorsque le DllImportAttribute.CharSet champ est défini sur CharSet.Ansi
, et le nom du point d’entrée ajouté à la lettre W est appelé lorsque le DllImportAttribute.CharSet champ est défini sur .CharSet.Unicode
En règle générale, les compilateurs managés définissent ce champ.
Le tableau suivant montre la relation entre les CharSet champs et ExactSpelling , en fonction des valeurs par défaut imposées par le langage de programmation. Vous pouvez remplacer le paramètre par défaut, mais faites-le avec précaution.
Langage | ANSI | Unicode | Auto |
---|---|---|---|
Visual Basic | ExactSpelling :=True | ExactSpelling :=True | ExactSpelling :=False |
C# | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |
C++ | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |