DllImportAttribute.ExactSpelling Champ

Définition

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

Boolean

Exemples

dans certains cas, Visual Basic développeurs utilisent DllImportAttribute , au lieu d’utiliser l' Declare instruction, 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 la false valeur est, le nom du point d’entrée ajouté à la lettre a est appelé lorsque le DllImportAttribute.CharSet champ a la valeur CharSet.Ansi , et le nom du point d’entrée ajouté à la lettre W est appelé lorsque le DllImportAttribute.CharSet champ a la valeur CharSet.Unicode . En général, les compilateurs managés définissent ce champ.

Le tableau suivant montre la relation entre les CharSet ExactSpelling champs et, 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

S’applique à