Compilación y carga de un controlador WDF
En este tema se describe cómo seleccionar un sistema operativo de destino y una versión de marco para un proyecto de controlador en Visual Studio.
Para determinar si necesita incluir componentes de marco redistribuibles en el paquete de controladores, consulte Redistributable Framework Components (Componentes redistribuibles de marco).
¿Qué versión del marco debo usar?
- Para tener como destino Windows XP, use WDF 1.9 o una versión anterior.
- Para tener como destino Windows Vista, Windows 7 o Windows 8, use WDF 1.11 o una versión anterior.
- Para dirigirse a Windows 8.1, use KMDF 1.13 o una versión anterior, o UMDF 1.x o UMDF 2.0.
- Para tener como destino Windows 10 versión 1507, use KMDF 1.15 o una versión anterior, o UMDF 1.x, o UMDF 2.15 o anterior.
Para obtener información detallada sobre las versiones de KMDF y UMDF, consulte Historial de versiones de KMDF y Historial de versiones de UMDF.
Cómo establecer las versiones en Visual Studio?
Si va a compilar el proyecto de controlador para la versión más reciente de Windows y la versión más reciente de KMDF o UMDF, puede mantener los valores predeterminados y omitir este paso.
De lo contrario, siga estos pasos.
- Haga clic con el botón derecho en la solución y seleccione Configuration Manager. Establezca Configuración del proyecto en el valor deseado (por ejemplo , Depurar).
- Haga clic con el botón derecho en el proyecto de controlador y seleccione Propiedades. Abra Propiedades de configuración-Configuración> del controlador-Modelo> de controladores. Cambie el valor de versión secundaria de KMDF (versión de destino) o versión secundaria de UMDF (versión de destino) en la configuración del modelo de controlador al valor deseado. Para obtener información sobre la versión secundaria de KMDF (mínima requerida) y la versión secundaria de UMDF (mínima requerida), consulta Especificar el requisito mínimo necesario.
Puedes usar el Kit de controladores de Windows (WDK) que se incluye con Windows 10 para compilar controladores KMDF 1.9-1.29, así como controladores UMDF 1.9-2.29.
Para obtener información detallada sobre las versiones de KMDF y UMDF, consulte Historial de versiones de KMDF y Historial de versiones de UMDF.
Vinculación y carga
Al compilar un proyecto de Windows Driver Frameworks (WDF) en Microsoft Visual Studio, MSBuild vincula el controlador a la biblioteca de marcos adecuada, el cargador de la biblioteca y un archivo de código auxiliar, todos ellos incluidos en el WDK. (La biblioteca y el cargador también se incluyen en el co-instalador del marco para que, si es necesario, pueda distribuirlos con el paquete de controladores).
El archivo de código auxiliar contiene una rutina de punto de entrada especial: FxDriverEntry. MSBuild establece la rutina FxDriverEntry del código auxiliar como punto de entrada inicial para los controladores basados en marcos.
Cuando el sistema operativo carga un controlador basado en marco, también carga el archivo de código auxiliar y el cargador de la biblioteca. A continuación, el sistema llama a la rutina FxDriverEntry del archivo de código auxiliar. A continuación, esta rutina llama al cargador. El cargador determina la versión de la biblioteca de marcos que requiere el controlador y, a continuación, carga la versión correcta de la biblioteca como un servicio en modo kernel (si aún no está cargado). Por último, la biblioteca llama a la rutina DriverEntry del controlador.