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