DllImportAttribute.CharSet DllImportAttribute.CharSet DllImportAttribute.CharSet DllImportAttribute.CharSet Field

Definition

Gibt an, wie Zeichenfolgenparameter an die Methode gemarshallt werden, und steuert die Namenszerlegung.Indicates how to marshal string parameters to the method and controls name mangling.

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

Im folgenden Codebeispiel wird gezeigt, wie das DllImportAttribute -Attribut verwendet wird, MessageBox um die Win32-Funktion zu importieren.The following code example shows how to use the DllImportAttribute attribute to import the Win32 MessageBox function. Das Codebeispiel ruft dann die importierte Methode auf.The code example then calls the imported method.

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 Marshallingverhalten von Zeichen folgen Parametern anzugeben, und um anzugeben, welcher Einstiegspunkt Name aufgerufen werden soll (der genaue Name, der angegeben wurde, oder ein Name, der mit "a" oder "W" endet).Use this field with a member of the CharSet enumeration to specify the marshaling behavior of string parameters and to specify which entry-point name to invoke (the exact name given or a name ending with "A" or "W"). Der C# Standardenumerationsmember für und CharSet.Ansi Visual Basic ist, und der Standardenumerationsmember für C++ CharSet.None CharSet.Ansiist, was entspricht.The default enumeration member for C# and Visual Basic is CharSet.Ansi and the default enumeration member for C++ is CharSet.None, which is equivalent to CharSet.Ansi. In Visual Basic verwenden Sie die Declare -Anweisung, um das CharSet Feld anzugeben.In Visual Basic, you use the Declare statement to specify the CharSet field.

Das ExactSpelling -Feld wirkt sich auf das CharSet Verhalten des-Felds aus, um zu bestimmen, welcher Einstiegspunkt Name aufgerufen werden soll.The ExactSpelling field influences the behavior of the CharSet field in determining which entry-point name to invoke. Eine ausführliche Beschreibung und Beispiele für das Marshalling von Zeichen folgen und das namens Übereinstimmungs Verhalten CharSet , die dem Feld zugeordnet sind, finden Sie unter Angeben eines Zeichensatzes.For a detailed description and examples of the string marshaling and name matching behavior associated with the CharSet field, see Specifying a Character Set.

Gilt für:

Siehe auch