DllImportAttribute.CharSet Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica la forma de calcular las referencias de los parámetros de cadena al método, y controla los daños en los nombres.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
Valor de campo
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el DllImportAttribute atributo para importar la función Win32 MessageBox
. A continuación, el ejemplo de código llama al 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
Comentarios
Use este campo con un miembro de la CharSet enumeración para especificar el comportamiento de serialización de parámetros de cadena y para especificar qué nombre de punto de entrada se va a invocar (el nombre exacto dado o un nombre que termina con "A" o "W"). El miembro de enumeración predeterminado para C# y Visual Basic es CharSet.Ansi
y el miembro de enumeración predeterminado para C++ es CharSet.None
, que es equivalente a CharSet.Ansi
. En Visual Basic, se usa la Declare
instrucción para especificar el CharSet
campo .
El ExactSpelling campo influye en el comportamiento del CharSet
campo para determinar qué nombre de punto de entrada se va a invocar. Para obtener una descripción detallada y ejemplos de la serialización de cadenas y el comportamiento de coincidencia de nombres asociado al CharSet
campo, vea Especificar un juego de caracteres.