DllImportAttribute(String) コンストラクター


DllImportAttribute クラスの新しいインスタンスを、インポートするメソッドを格納した DLL の名前を使用して初期化します。Initializes a new instance of the DllImportAttribute class with the name of the DLL containing the method to import.

 DllImportAttribute(System::String ^ dllName);
public DllImportAttribute (string dllName);
new System.Runtime.InteropServices.DllImportAttribute : string -> System.Runtime.InteropServices.DllImportAttribute
Public Sub New (dllName As String)



アンマネージ メソッドを格納する DLL の名前。The name of the DLL that contains the unmanaged method. DLL がアセンブリに含まれている場合、これにはアセンブリの表示名を含めることができます。This can include an assembly display name, if the DLL is included in an assembly.

次のコード例は、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.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


たとえば、リンカーまたは /linkresource コンパイラオプションを使用して、アンマネージ DLL ファイルがアセンブリに含まれている場合は、dllNameの一部として、アセンブリの表示名を指定できます。If an unmanaged DLL file is included in an assembly, for example, by using the linker or the /linkresource compiler option, you can specify the assembly display name as part of dllName. たとえば、unmanaged.dll という名前のアンマネージ DLL が MyAssemblyという名前のマネージアセンブリに含まれている場合、次のコードに示すように、属性が指定されている可能性があります。For example, if an unmanaged DLL named unmanaged.dll is included in a managed assembly named MyAssembly, the attribute might be specified as shown in the following code.

[DllImport("unmanaged.dll, MyAssembly, Version=,"
    "Culture=neutral, PublicKeyToken=a77e0ba5eab10125")]
int SomeFuncion1(int parm);
[DllImport("unmanaged.dll, MyAssembly, Version=," +
    "Culture=neutral, PublicKeyToken=a77e0ba5eab10125")]
internal static extern int SomeFuncion1(int parm);
<DllImport("unmanaged.dll, MyAssembly, Version=," +
    "Culture=neutral, PublicKeyToken=a77e0ba5eab10125")>
Friend Shared Function DummyFuncion1(parm As Integer) As Integer
End Function