DllImportAttribute.CharSet Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Standardaufzählungsmember für C# und Visual Basic ist CharSet.Ansi
, und der Standardaufzählungsmember 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 Dem Feld zugeordnete CharSet
Zeichenfolgen-Marshall- und Namensabgleichsverhalten finden Sie unter Angeben eines Zeichensatzes.