Share via


DllImportAttribute.ExactSpelling Campo

Definición

Controla si el campo CharSet hace que Common Language Runtime busque en un archivo DLL no administrado nombres de puntos de entrada distintos del especificado.

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

Valor de campo

Ejemplos

En algunos casos, los desarrolladores de Visual Basic usan DllImportAttribute, en lugar de usar la Declare instrucción , para definir una función DLL en código administrado. Establecer el ExactSpelling campo es uno de esos casos.

[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

Comentarios

Si falsees , el nombre del punto de entrada anexado con la letra A se invoca cuando el DllImportAttribute.CharSet campo se establece CharSet.Ansien y se invoca el nombre del punto de entrada anexado con la letra W cuando el DllImportAttribute.CharSet campo se establece CharSet.Unicodeen . Normalmente, los compiladores administrados establecen este campo.

En la tabla siguiente se muestra la relación entre los CharSet campos y ExactSpelling , en función de los valores predeterminados impuestos por el lenguaje de programación. Puede invalidar la configuración predeterminada, pero hacerlo con precaución.

Idioma 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

Se aplica a