Udostępnij za pośrednictwem


DllImportAttribute.CharSet Pole

Definicja

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 CharSetpolem, zobacz Określanie zestawu znaków.

Dotyczy

Zobacz też