DllImportAttribute.ExactSpelling Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Controla se o CharSet campo faz com que o common language runtime pesquise uma DLL não gerenciada em busca de nomes de ponto de entrada diferentes do especificado.
public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Valor do campo
Exemplos
Em alguns casos, Visual Basic desenvolvedores usam o DllImportAttribute, em vez de usar a instrução Declare, para definir uma função DLL no código gerenciado. Definir o ExactSpelling campo é um desses 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
Comentários
Se false, o nome do ponto de entrada acrescentado com a letra A é invocado quando o DllImportAttribute.CharSet campo é definido CharSet.Ansicomo , e o nome do ponto de entrada acrescentado com a letra W é invocado quando o DllImportAttribute.CharSet campo é definido como CharSet.Unicode. Normalmente, os compiladores gerenciados definem esse campo.
A tabela a seguir mostra a relação entre os campos e ExactSpelling os CharSet campos, com base nos valores padrão impostos pela linguagem de programação. Você pode substituir a configuração padrão, mas fazê-lo com cuidado.
| Linguagem | 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 |