DllImportAttribute.CharSet Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje sposób marshalingu parametrów ciągu do metody i kontrolek nazw mangling.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
Wartość pola
Przykłady
Poniższy przykład kodu pokazuje, jak użyć atrybutu DllImportAttribute do zaimportowania funkcji Win32 MessageBox
. Przykładowy kod wywołuje następnie zaimportowaną metodę.
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
Uwagi
Użyj tego pola z elementem CharSet członkowskim wyliczenia, aby określić zachowanie marshalingu parametrów ciągu i określić nazwę punktu wejścia do wywołania (dokładną nazwę nadaną lub nazwę kończącą się ciągiem "A" lub "W"). Domyślny element członkowski wyliczenia dla języków C# i Visual Basic to CharSet.Ansi
domyślny element członkowski wyliczenia dla języka C++ CharSet.None
, który jest odpowiednikiem CharSet.Ansi
. W języku Visual Basic użyjesz instrukcji Declare
, aby określić CharSet
pole.
Pole ExactSpelling wpływa na zachowanie pola w określaniu CharSet
, która nazwa punktu wejścia ma być wywoływana. Aby uzyskać szczegółowy opis i przykłady działania marshalingu ciągów i dopasowywania nazw skojarzonych z CharSet
polem, zobacz Określanie zestawu znaków.