DllImportAttribute.CharSet Feld

Definition

Gibt an, wie Zeichenfolgenparameter an die Methode gemarshallt werden, und steuert die Namenszerlegung.

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

Feldwert

Beispiele

Das folgende Codebeispiel zeigt, wie Sie das DllImportAttribute -Attribut verwenden, um die Win32-Funktion MessageBox zu importieren. Im Codebeispiel wird dann die importierte Methode aufgerufen.

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

Hinweise

Verwenden Sie dieses Feld mit einem Member der CharSet -Enumeration, um das Marshallverhalten von Zeichenfolgenparametern anzugeben und anzugeben, welcher Einstiegspunktname aufgerufen werden soll (der genaue angegebene Name oder ein Name, der mit "A" oder "W" endet). Der Standard-Enumerationsmember für C# und Visual Basic ist CharSet.Ansi , und das Standardenumerationselement für C++ ist CharSet.None, was entspricht CharSet.Ansi. In Visual Basic verwenden Sie die Declare -Anweisung, um das CharSet Feld anzugeben.

Das ExactSpelling Feld beeinflusst das Verhalten des Felds bei der CharSet Bestimmung, welcher Einstiegspunktname aufgerufen werden soll. Eine ausführliche Beschreibung und Beispiele für das Verhalten beim Marshallen von Zeichenfolgen und zum Namensabgleich, das dem CharSet Feld zugeordnet ist, finden Sie unter Angeben eines Zeichensatzes.

Gilt für:

Weitere Informationen