Compartir vía


DLL (C++/CX)

Puede usar Visual Studio para crear un archivo DLL para Win32 estándar o un archivo DLL para el componente de Windows Runtime que se puedan usar en aplicaciones para la Plataforma universal de Windows (UWP). Un archivo DLL estándar creado con una versión de Visual Studio o el compilador de Microsoft C++ anterior a Visual Studio 2012 podría no cargarse correctamente en una aplicación para UWP y no superar la prueba de comprobación de la aplicación en Microsoft Store.

Archivos DLL para el componente de Windows Runtime

En casi todos casos, cuando quiera crear un archivo DLL para usarlo en una aplicación para UWP, créelo como un componente de Windows Runtime mediante la plantilla de proyecto de ese nombre. Puede crear un proyecto de componente de Windows Runtime para archivos DLL que tengan tipos de Windows Runtime públicos o privados. Se puede acceder a un componente de Windows Runtime desde aplicaciones escritas en cualquier lenguaje compatible con Windows Runtime. De forma predeterminada, las opciones de configuración del compilador para un proyecto de componente de Windows Runtime usan el modificador /ZW. Un archivo .winmd debe tener el mismo nombre que el espacio de nombres de la raíz. Por ejemplo, se pueden crear instancias de una clase denominada A.B.C.MyClass solo si está definida en un archivo de metadatos denominado A.winmd, A.B.winmd o A.B.C.winmd. El nombre de la DLL no tiene que coincidir con el nombre del archivo .winmd.

Para obtener más información, vea Crear componentes de Windows en tiempo de ejecución en C++.

Para hacer referencia a un binario de componente de Windows Runtime de terceros en el proyecto

  1. Abre el menú contextual del proyecto que utilizará el archivo DLL y, a continuación, elige Propiedades. En la página Propiedades comunes , elige el botón Agregar nueva referencia .

  2. Un componente de Windows Runtime consta de un archivo DLL y un archivo .winmd que contiene los metadatos. Normalmente, estos archivos se encuentran en la misma carpeta. En el panel izquierdo del cuadro de diálogo Agregar referencia , elige el botón Examinar y después navega hasta la ubicación del archivo DLL y su archivo .winmd. Para obtener más información, consulte SDK de extensión.

Archivos DLL estándar

Puedes crear un archivo DLL estándar para código de C++ que no consuma ni genere tipos públicos de Windows Runtime y lo consuma desde una aplicación para UWP. Use el tipo de proyecto de biblioteca de vínculos dinámicos (DLL) cuando solo quiera migrar un archivo DLL existente para compilarlo en esta versión de Visual Studio, sin convertir el código en un proyecto de componente de Windows Runtime. Al utilizar los pasos siguientes, la DLL se implementará en paralelo con el ejecutable de la aplicación en el paquete .appx.

Para crear un archivo DLL estándar en Visual Studio

  1. En la barra de menús, seleccione Archivo, Nuevo, Proyecto y, luego, elija la plantilla Biblioteca de vínculos dinámicos (DLL).

  2. Escribe un nombre para el proyecto y, a continuación, haz clic en el botón Aceptar .

  3. Agrega el código. Asegúrate de utilizar __declspec(dllexport) para las funciones que deseas exportar, por ejemplo, __declspec(dllexport) Add(int I, in j);.

  4. Agregue #include winapifamily.h para incluir el archivo de encabezado de Windows SDK para las aplicaciones para UWP y establezca la macro WINAPI_FAMILY=WINAPI_PARTITION_APP.

Para hacer referencia a un proyecto DLL estándar de la misma solución

  1. Abre el menú contextual del proyecto que utilizará el archivo DLL y, a continuación, elige Propiedades. En la página Propiedades comunes , elige el botón Agregar nueva referencia .

  2. En el panel izquierdo, selecciona Solucióny, a continuación, activa la casilla adecuada en el panel derecho.

  3. En los archivos de código fuente, agrega una instrucción #include para el archivo de encabezado de DLL, según sea necesario.

Para hacer referencia a un binario DLL estándar

  1. Copie el archivo DLL, el archivo .lib y el archivo de encabezado y péguelos en una ubicación conocida, por ejemplo, en la carpeta del proyecto actual.

  2. Abre el menú contextual del proyecto que utilizará el archivo DLL y, a continuación, elige Propiedades. En la página Propiedades de configuración, Vinculador, Entrada , agrega el archivo .lib como una dependencia.

  3. En los archivos de código fuente, agrega una instrucción #include para el archivo de encabezado de DLL, según sea necesario.

Para migrar un archivo DLL para Win32 existente para la compatibilidad con aplicaciones para UWP

  1. Cree un proyecto de tipo DLL (Windows universal) y agréguele el código fuente existente.

  2. Agregue #include winapifamily.h para incluir el archivo de encabezado de Windows SDK para las aplicaciones para UWP y establezca la macro WINAPI_FAMILY=WINAPI_PARTITION_APP.

  3. En los archivos de código fuente, agrega una instrucción #include para el archivo de encabezado de DLL, según sea necesario.