Freigeben über


DllImportAttribute.CharSet-Feld

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

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

Syntax

'Declaration
Public CharSet As CharSet
'Usage
Dim instance As DllImportAttribute
Dim value As CharSet

value = instance.CharSet

instance.CharSet = value
public CharSet CharSet
public:
CharSet CharSet
public CharSet CharSet
public var CharSet : CharSet

Hinweise

Verwenden Sie dieses Feld mit einem Member der CharSet-Enumeration, um das Marshallingverhalten für Zeichenfolgenparameter festzulegen und um anzugeben, welcher Einstiegspunktname aufgerufen werden soll (der exakte angegebene Name oder ein Name, der auf "A" oder "W" endet). Der Standardenumerationsmember für C# und Visual Basic ist CharSet.Ansi, und der Standardenumerationsmember für C++ ist CharSet.None, der CharSet.Ansi entspricht. In Visual Basic legen Sie das CharSet-Feld mit der Declare-Anweisung fest.

Das ExactSpelling-Feld beeinflusst das Verhalten des CharSet-Felds bei der Bestimmung des aufzurufenden Einstiegspunktnamens. Eine ausführliche Beschreibung und Beispiele für das Marshalling von Zeichenfolgen und das Verhalten beim Namensvergleich in Bezug auf das CharSet-Feld finden Sie unter Angeben eines Zeichensatzes.

Beispiel

Im folgenden Codebeispiel wird die Verwendung des DllImportAttribute-Attributs zum Importieren der Win32-Funktion MessageBox gezeigt. Im Codebeispiel wird dann die importierte Methode aufgerufen.

Imports System
Imports System.Runtime.InteropServices

Module Example

    ' Use DllImport to import the Win32 MessageBox function.
    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    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
using System;
using System.Runtime.InteropServices;

class Example
{
    // Use DllImport to import the Win32 MessageBox function.
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    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);
    }
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DllImportAttribute-Klasse
DllImportAttribute-Member
System.Runtime.InteropServices-Namespace
ExactSpelling