Freigeben über


DllImportAttribute.CharSet-Feld

 

Veröffentlicht: Oktober 2016

Gibt an, wie Parameter der Methode und die namenszerlegung für Steuerelemente zu marshallen.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

public CharSet CharSet
public:
CharSet CharSet
val mutable CharSet : CharSet
Public CharSet As CharSet

Feldwert

Type: System.Runtime.InteropServices.CharSet

Hinweise

Verwenden Sie dieses Feld mit einem Mitglied der CharSet Enumeration das Marshallingverhalten für Zeichenfolgenparameter festzulegen und welcher Einstiegspunktname aufgerufen werden soll (der exakte angegebene Name oder Name endet mit "A" oder "W") angeben. Das Standardelement für die Enumeration für c# und Visual Basic ist CharSet.Ansi und ist der Standard-Enumerationsmember für C++ CharSet.None, dies entspricht dem CharSet.Ansi. In Visual Basic verwenden Sie die Declare Anweisung an die CharSet Feld.

Die ExactSpelling Feld beeinflusst das Verhalten der CharSet Feld bei der Bestimmung der Einstiegspunktname aufgerufen. Eine ausführliche Beschreibung und Beispiele für das Marshallen von Zeichenfolgen und das zugeordnete Verhalten der CharSet Feld, finden Sie unter Specifying a Character Set.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie die DllImportAttribute Attribut zum Importieren der Win32- MessageBox Funktion. Das Codebeispiel ruft dann die importierte Methode.

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
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

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Siehe auch

ExactSpelling
DllImportAttribute-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang