Consumir funciones DLL no administradas

La invocación de plataforma es un servicio que permite que el código administrado llame a funciones no administradas implementadas en bibliotecas de vínculos dinámicos (DLL), como las que se encuentran en la API Win32. Localiza e invoca una función exportada y calcula las referencias a sus argumentos (enteros, cadenas, matrices, estructuras, etc.) dentro de los límites de la interoperabilidad, según sea necesario. Para obtener más información acerca de este servicio, vea Aproximación a la invocación de plataforma.

En esta sección se incluyen varias tareas asociadas al consumo de funciones de archivos DLL no administradas. Además de las siguientes tareas, se ofrecen consideraciones generales y un vínculo que proporciona más información y ejemplos.

Para consumir funciones exportadas de un archivo DLL

  1. Identifique funciones en archivos DLL.

    Debe especificar, como mínimo, el nombre de la función y el nombre del archivo DLL que la contiene.

  2. Cree una clase para contener funciones de archivos DLL.

    Puede utilizar una clase existente, crear una clase individual para cada función no administrada, o crear una clase que contenga un conjunto de funciones no administradas relacionadas.

  3. Cree prototipos en código administrado.

    [Visual Basic] Utilice la instrucción Declarecon las palabras clave Function y Lib. No es muy frecuente, pero a veces puede utilizar DllImportAttribute con las palabras clave Shared Function. Estos casos se explican más adelante en esta sección.

    [C#] Utilice DllImportAttribute para identificar el archivo DLL y la función. Marque el método con los modificadores static y extern.

    [C++] Utilice DllImportAttribute para identificar el archivo DLL y la función. Marque el método o la función contenedores con extern "C".

  4. Llame a una función de un archivo DLL.

    Llame al método de la clase administrada del mismo modo que lo haría con cualquier otro método administrado. Pasar estructuras e Implementar funciones de devolución de llamada son casos especiales.

Para obtener ejemplos que muestren cómo construir declaraciones .NET que se utilizan con la invocación de plataforma, vea Calcular referencias de datos con invocación de plataforma.

Vea también

Conceptos

Aproximación a la invocación de plataforma
Ejemplos de invocación de plataforma

Otros recursos

Interoperar con código no administrado
Cálculo de referencia de interoperabilidad