DllImportAttribute.CharSet DllImportAttribute.CharSet DllImportAttribute.CharSet DllImportAttribute.CharSet Field


文字列パラメーターをメソッドにマーシャリングし、名前マングルを制御する方法を示します。Indicates how to marshal string parameters to the method and controls name mangling.

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関数。The following code example shows how to use the DllImportAttribute attribute to import the Win32 MessageBox function. コード例は、インポートされたメソッドを呼び出します。The code example then calls the imported method.

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
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"で終わる名前) を起動するには、どのエントリ ポイント名を指定する列挙体。Use this field with a member of the CharSet enumeration to specify the marshaling behavior of string parameters and to specify which entry-point name to invoke (the exact name given or a name ending with "A" or "W"). C# および Visual Basic の既定の列挙体メンバー CharSet.Ansi C++ の既定の列挙体のメンバーとCharSet.Noneと同等CharSet.Ansiします。The default enumeration member for C# and Visual Basic is CharSet.Ansi and the default enumeration member for C++ is CharSet.None, which is equivalent to CharSet.Ansi. Visual basic で使用する、Declareステートメントを指定する、CharSetフィールド。In Visual Basic, you use the Declare statement to specify the CharSet field.

ExactSpellingフィールドの動作に影響、CharSetを呼び出すには、どのエントリ ポイント名を決定するフィールド。The ExactSpelling field influences the behavior of the CharSet field in determining which entry-point name to invoke. 詳細な説明と、文字列のマーシャ リングと関連付けられている動作と一致する名前の例については、CharSetフィールドを参照してください文字セットの指定します。For a detailed description and examples of the string marshaling and name matching behavior associated with the CharSet field, see Specifying a Character Set.