Compartir vía


DllImportAttribute.CharSet Campo

Definición

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.

Se aplica a

Consulte también