DllImportAttribute(String) Costruttore

Definizione

Inizializza una nuova istanza della classe DllImportAttribute con il nome della DLL che contiene il metodo da importare.

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)

Parametri

dllName
String

Nome della DLL che contiene il metodo non gestito. Può includere il nome visualizzato di un assembly, se la DLL è inclusa in un assembly.

Esempio

Nell'esempio di codice seguente viene illustrato come usare l'attributo DllImportAttribute per importare la funzione Win32 MessageBox . L'esempio di codice chiama quindi il metodo importato.

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

Commenti

Se un file DLL non gestito è incluso in un assembly, ad esempio usando il linker o l'opzione /linkresource del compilatore, è possibile specificare il nome visualizzato dell'assembly come parte di dllName. Ad esempio, se una DLL non gestita denominata unmanaged.dll è inclusa in un assembly gestito denominato MyAssembly, l'attributo potrebbe essere specificato come illustrato nel codice seguente.

[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

Si applica a