DllImportAttribute.CharSet Veld
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt aangegeven hoe u parameters van marshal tekenreeksen aan de methode en besturingselementen naam mangling.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
Waarde van veld
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u het DllImportAttribute kenmerk gebruikt om de Win32-functie MessageBox te importeren. In het codevoorbeeld wordt vervolgens de geïmporteerde methode aangeroepen.
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
Opmerkingen
Gebruik dit veld met een lid van de CharSet opsomming om het marshalinggedrag van tekenreeksparameters op te geven en op te geven welke beginpuntnaam moet worden aangeroepen (de exacte naam die wordt opgegeven of een naam die eindigt op 'A' of 'W'). Het standaard opsommingslid voor C# en Visual Basic is CharSet.Ansi en het standaard opsommingslid voor C++ is CharSet.None, wat gelijk is aan CharSet.Ansi. In Visual Basic gebruikt u de instructie Declare om het veld CharSet op te geven.
Het ExactSpelling veld beïnvloedt het gedrag van het veld bij het CharSet bepalen welke naam van het invoerpunt moet worden aangeroepen. Zie Een tekenset opgeven voor een gedetailleerde beschrijving en voorbeelden van de tekenreeks marshaling en naamkoppeling die aan het CharSet veld zijn gekoppeld.