DllImportAttribute.CharSet Поле

Определение

Указывает, как маршалировать строковые параметры в метод и управлять именами.

public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet 

Значение поля

Примеры

В следующем примере кода показано, как использовать DllImportAttribute атрибут для импорта функции Win32 MessageBox . Затем в примере кода вызывается импортированный метод.

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

Комментарии

Используйте это поле с элементом CharSet перечисления, чтобы указать маршалинг параметров строки и указать имя точки входа для вызова (точное имя или имя, заканчивающееся "A" или "W"). Элемент перечисления по умолчанию для C# и Visual Basic равен CharSet.Ansi, а элемент перечисления по умолчанию для C++ — CharSet.None, что эквивалентно CharSet.Ansi. В Visual Basic используется инструкция Declare для указания поля CharSet.

Поле ExactSpelling влияет на поведение CharSet поля при определении имени точки входа для вызова. Подробное описание и примеры поведения маршалинга строк и сопоставления имен, связанных с CharSet полем, см. в разделе "Указание набора символов".

Применяется к

См. также раздел