Condividi tramite


DllImportAttribute.CharSet Campo

Definizione

Indica come eseguire il marshalling dei parametri di stringa nel metodo e controlla l'alterazione dei nomi.

public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet 

Valore del campo

Esempio

Nell'esempio di codice seguente viene illustrato come usare l'attributo DllImportAttribute per importare la funzione Win32 MessageBox . L'esempio di codice chiama quindi il metodo importato.

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

Commenti

Usare questo campo con un membro dell'enumerazione CharSet per specificare il comportamento di marshalling dei parametri stringa e per specificare il nome del punto di ingresso da richiamare (il nome esatto specificato o un nome che termina con "A" o "W"). Il membro di enumerazione predefinito per C# e Visual Basic è CharSet.Ansi e il membro di enumerazione predefinito per C++ è CharSet.None, equivalente a CharSet.Ansi. In Visual Basic si usa l'istruzione Declare per specificare il CharSet campo.

Il ExactSpelling campo influenza il comportamento del CharSet campo per determinare il nome del punto di ingresso da richiamare. Per una descrizione dettagliata ed esempi del marshalling delle stringhe e del comportamento di corrispondenza dei nomi associati al CharSet campo, vedere Specifica di un set di caratteri.

Si applica a

Vedi anche