DllImportAttribute(String) Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menginisialisasi instans DllImportAttribute baru kelas dengan nama DLL yang berisi metode untuk diimpor.
public:
DllImportAttribute(System::String ^ dllName);
public DllImportAttribute (string dllName);
new System.Runtime.InteropServices.DllImportAttribute : string -> System.Runtime.InteropServices.DllImportAttribute
Public Sub New (dllName As String)
Parameter
- dllName
- String
Nama DLL yang berisi metode tidak terkelola. Dalam .NET Framework, ini dapat menyertakan nama tampilan rakitan, jika DLL disertakan dalam rakitan.
Contoh
Contoh kode berikut menunjukkan cara menggunakan DllImportAttribute atribut untuk mengimpor fungsi Win32 MessageBox
. Contoh kode kemudian memanggil metode yang diimpor.
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
Keterangan
.NET Framework saja: Jika file DLL yang tidak dikelola disertakan dalam rakitan, misalnya, dengan menggunakan linker atau /linkresource
opsi pengkompilasi, Anda dapat menentukan nama tampilan rakitan sebagai bagian dllName
dari . Misalnya, jika DLL yang tidak dikelola bernama unmanaged.dll
disertakan dalam rakitan terkelola bernama MyAssembly
, atribut mungkin ditentukan seperti yang ditunjukkan dalam kode berikut.
[DllImport("unmanaged.dll, MyAssembly, Version= 1.0.0.0,"
"Culture=neutral, PublicKeyToken=a77e0ba5eab10125")]
int SomeFuncion1(int parm);
[DllImport("unmanaged.dll, MyAssembly, Version= 1.0.0.0," +
"Culture=neutral, PublicKeyToken=a77e0ba5eab10125")]
internal static extern int SomeFuncion1(int parm);
<DllImport("unmanaged.dll, MyAssembly, Version= 1.0.0.0," +
"Culture=neutral, PublicKeyToken=a77e0ba5eab10125")>
Friend Shared Function DummyFuncion1(parm As Integer) As Integer
End Function