Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
DllImportAttribute (Clase)

Indica que una biblioteca de vínculos dinámicos (DLL) no administrada expone el método con atributos como punto de entrada estático.

Espacio de nombres: System.Runtime.InteropServices
Ensamblado: mscorlib (en mscorlib.dll)

Visual Basic (Declaración)
<AttributeUsageAttribute(AttributeTargets.Method, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class DllImportAttribute
    Inherits Attribute
Visual Basic (Uso)
Dim instance As DllImportAttribute
C#
[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)] 
[ComVisibleAttribute(true)] 
public sealed class DllImportAttribute : Attribute
C++
[AttributeUsageAttribute(AttributeTargets::Method, Inherited=false)] 
[ComVisibleAttribute(true)] 
public ref class DllImportAttribute sealed : public Attribute
J#
/** @attribute AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class DllImportAttribute extends Attribute
JScript
AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) 
ComVisibleAttribute(true) 
public final class DllImportAttribute extends Attribute

Este atributo se puede aplicar a métodos.

El atributo DllImportAttribute proporciona la información necesaria para llamar a una función exportada desde un archivo DLL no administrado. Como requisito mínimo, debe suministrarse el nombre del archivo DLL que contiene el punto de entrada.

Este atributo se aplica directamente a las definiciones de métodos de C# y C++, aunque el compilador de Visual Basic emite este atributo cuando se utiliza la instrucción Declare. En el caso de las definiciones de métodos complejas que incluyen los campos BestFitMapping, CallingConvention, ExactSpelling, PreserveSig, SetLastError o ThrowOnUnmappableChar, este atributo se aplica directamente a las definiciones de métodos de Visual Basic.

Nota   JScript no admite este atributo. Se pueden utilizar las clases contenedoras de C# o Visual Basic para obtener acceso a métodos de API no administrada desde programas JScript.

Para obtener más información sobre la forma de utilizar el servicio de invocación de plataforma para obtener acceso a funciones en archivos DLL no administrados, vea Consumir funciones DLL no administradas.

NotaNota

DllImportAttribute no admite el cálculo de referencias de tipos genéricos.

El siguiente ejemplo de código muestra cómo utilizar el atributo DllImportAttribute para importar la función MessageBox de Win32. El ejemplo de código llama a continuación al método importado.

Visual Basic
Imports System
Imports System.Runtime.InteropServices

Module Example

    ' Use DllImport to import the Win32 MessageBox function.
    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    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
C#
using System;
using System.Runtime.InteropServices;

class Example
{
    // Use DllImport to import the Win32 MessageBox function.
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    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);
    }
}
System.Object
   System.Attribute
    System.Runtime.InteropServices.DllImportAttribute
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker