DllImportAttribute.CharSet 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.
Indica como realizar marshaling de parâmetros de cadeia de caracteres para o método e a desconfiguração de nome de controles.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
Valor do campo
Exemplos
O exemplo de código a seguir mostra como usar o DllImportAttribute atributo para importar a função Win32 MessageBox
. Em seguida, o exemplo de código chama o método importado.
using System;
using System.Runtime.InteropServices;
class Example
{
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
static void Main()
{
// Call the MessageBox function using platform invoke.
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}
}
Imports System.Runtime.InteropServices
Module Example
' Use DllImport to import the Win32 MessageBox function.
<DllImport("user32.dll", CharSet:=CharSet.Unicode)> _
Function MessageBox(ByVal hwnd As IntPtr, ByVal t As String, ByVal caption As String, ByVal t2 As UInt32) As Integer
End Function
Sub Main()
' Call the MessageBox function using platform invoke.
MessageBox(New IntPtr(0), "Hello World!", "Hello Dialog", 0)
End Sub
End Module
Comentários
Use esse campo com um membro da CharSet enumeração para especificar o comportamento de marshaling de parâmetros de cadeia de caracteres e especificar qual nome de ponto de entrada invocar (o nome exato fornecido ou um nome que termina com "A" ou "W"). O membro de enumeração padrão para C# e Visual Basic é CharSet.Ansi
e o membro de enumeração padrão para C++ é CharSet.None
, que é equivalente a CharSet.Ansi
. No Visual Basic, você usa a Declare
instrução para especificar o CharSet
campo.
O ExactSpelling campo influencia o comportamento do CharSet
campo ao determinar qual nome de ponto de entrada invocar. Para obter uma descrição detalhada e exemplos do comportamento de marshaling de cadeia de caracteres e correspondência de nomes associados ao CharSet
campo, consulte Especificando um conjunto de caracteres.