DllImportAttribute(String) Konstruktor
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci DllImportAttribute třídy s názvem knihovny DLL obsahující metodu importu.
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)
Parametry
- dllName
- String
Název knihovny DLL, která obsahuje nespravovanou metodu. V rozhraní .NET Framework může obsahovat zobrazovaný název sestavení, pokud je knihovna DLL součástí sestavení.
Příklady
Následující příklad kódu ukazuje, jak pomocí atributu DllImportAttribute importovat funkci Win32 MessageBox
. Příklad kódu pak zavolá importovanou metodu.
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
Poznámky
Pouze rozhraní .NET Framework: Je-li nespravovaný soubor knihovny DLL součástí sestavení, například pomocí linkeru nebo možnosti kompilátoru /linkresource
, můžete jako součást dllName
zadat zobrazovaný název sestavení. Pokud je například nespravovaná knihovna DLL s názvem unmanaged.dll
zahrnuta ve spravovaném sestavení s názvem MyAssembly
, může být zadán atribut, jak je znázorněno v následujícím kódu.
[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