DllImportAttribute(String) Konstruktor
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av DllImportAttribute klassen med namnet på den DLL som innehåller metoden som ska importeras.
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)
Parametrar
- dllName
- String
Namnet på den DLL som innehåller den ohanterade metoden. I .NET Framework kan detta innehålla ett visningsnamn för sammansättning, om DLL:en ingår i en sammansättning.
Exempel
I följande kodexempel visas hur du använder DllImportAttribute attributet för att importera win32-funktionen MessageBox . Kodexemplet anropar sedan den importerade metoden.
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
Kommentarer
.NET Framework only: Om en ohanterad DLL-fil ingår i en sammansättning, till exempel med hjälp av alternativet linker eller /linkresource kompilator, kan du ange sammansättningsvisningsnamnet som en del av dllName. Om till exempel en ohanterad DLL med namnet unmanaged.dll ingår i en hanterad sammansättning med namnet MyAssemblykan attributet anges enligt följande kod.
[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