Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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