DllImportAttribute(String) Konstruktor

Definition

Initialisiert eine neue Instanz der DllImportAttribute-Klasse mit dem Namen der DLL, die die zu importierende Methode enthält.

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

Der Name der DLL, die die nicht verwaltete Methode enthält. Dieser kann einen Assemblyanzeigenamen einschließen, wenn die DLL in einer Assembly enthalten ist.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie das DllImportAttribute -Attribut verwenden, um die Win32-Funktion MessageBox zu importieren. Im Codebeispiel wird dann die importierte Methode aufgerufen.

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

Hinweise

Wenn eine nicht verwaltete DLL-Datei in einer Assembly enthalten ist, z. B. mithilfe des Linkers oder der /linkresource Compileroption, können Sie den Assemblyanzeigenamen als Teil von dllNameangeben. Wenn beispielsweise eine nicht verwaltete DLL namens unmanaged.dll in einer verwalteten Assembly mit dem Namen MyAssemblyenthalten ist, kann das Attribut wie im folgenden Code dargestellt angegeben werden.

[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

Gilt für: