Condividi tramite


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. In .NET Framework questo può includere un nome visualizzato dell'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

Solo .NET Framework: 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