Cómo crear un registro de comprobación de controladores
El Programa de certificación de hardware de Windows requiere un registro de comprobación de controladores (DVL) para los envíos de controladores. El DVL contiene un resumen de los resultados de las herramientas de análisis estático, CodeQL. El DVL no contiene ninguna información de código fuente. Antes de crear un DVL para el controlador, ejecute CodeQL, la herramienta de análisis de código y el comprobador de controladores estáticos. Para obtener más información, consulte Prueba de logotipo de herramientas estáticas y CodeQL y prueba de logotipo de herramientas estáticas.
Preparación del controlador
- Antes de ejecutar las herramientas de análisis de código, compile y vincule el controlador mediante el Kit para controladores de Windows (WDK) más reciente.
- Seleccione Versión para la configuración de la solución y x64 para la plataforma de la solución.
Determinación y ejecución de las pruebas necesarias
Para determinar qué pruebas son necesarias para la versión de Windows para la que desea certificar, consulte la prueba de logotipo de herramientas estáticas.
Ejecute las siguientes pruebas, según sea necesario.
Ejecute CodeQL. Aborde y corrija los defectos que se encuentren. Se produce un error en la certificación si no se corrigen los defectos que se consideran de "corrección obligatoria". Para obtener más información sobre CodeQL y la prueba de logotipo de herramientas estáticas, consulte CodeQL y prueba de logotipo de herramientas estáticas.
Ejecute el comprobador de controladores estáticos. Para obtener información sobre cómo crear el archivo de registro, consulte Creación de un archivo de registro para el comprobador de controladores estáticos y Uso del comprobador de controladores estáticos para buscar defectos en los controladores.
Ejecute la herramienta de análisis de código para los controladores. Aborde y corrija los defectos que se encuentren. Consulte Creación de un archivo de registro para la herramienta de análisis de código y Cómo ejecutar el análisis de código para controladores. Para obtener más información sobre el análisis de código, consulte Análisis de la calidad de la aplicación mediante herramientas de análisis de código.
Creación del registro de comprobación de controladores
- En el menú Controlador, seleccione Crear registro de comprobación de controladores.
- Compruebe que se detectan los archivos de Registro de análisis de código, Registro de comprobador de controladores estáticos y Registro de CodeQL.
- Seleccione Crear.
El registro de comprobación de controladores tiene la extensión de nombre de archivo .DVL.XML. El registro se crea en la carpeta del proyecto, por ejemplo, \myDriverProject\myDriverName.DVL.XML.
SDV realiza una recompilación limpia del controlador, que quita el registro de análisis de código. Por lo tanto, asegúrese de ejecutar SDV antes de ejecutar CA.
Cuando esté listo para probar el controlador mediante el Windows Hardware Lab Kit, copie el registro de comprobación del controlador en el directorio %systemdrive%\DVL del equipo de prueba. Elimine el contenido del directorio en el equipo de prueba antes de copiar el nuevo registro de comprobación del controlador.
Importante
Los tiempos de espera, spaceouts y otros resultados no correctos en el archivo DVL son aceptables para el envío de la certificación. Los resultados no correctos no harán que se produzca un error en la prueba de herramientas estáticas en HLK.
Uso de la ventana de símbolo del sistema de Visual Studio
También puede crear el registro de comprobación de controladores desde una ventana del símbolo del sistema de Visual Studio. Utilice el símbolo del sistema de las herramientas nativas de Visual Studio que se instala con Visual Studio o el Kit para controladores de Windows para empresas (EWDK).
msbuild.exe <vcxprojectfile> /target:dvl /p:Configuration="Release" /P:Platform=x64
Creación de un registro de comprobación de controladores fuera de msbuild o Visual Studio
Como parte del Kit para controladores de Windows (WDK) y WDK de empresa (eWDK), Microsoft envía un componente denominado dvl.exe que se puede usar para generar registros de comprobación de controladores (DVL) mediante la línea de comandos. A partir de las versiones preliminares de WDK/eWDK 21342 y posteriores, es posible generar un DVL desde la línea de comandos fuera del contexto de msbuild o Visual Studio.
Generación de DVL desde el archivo CodeQL sarif
- Busque dvl.exe desde el WDK o un eWDK montado. Normalmente se instala en C:\Archivos de programa (x86)\Windows Kits\10\Tools\dvl\dvl.exe
- Llame a dvl.exe pasando la marca
/manualCreate
, un nombre de controlador, la arquitectura que desee y/sarifPath
. Donde/sarifPath
incluye la ruta de acceso a la carpeta que contiene el archivo sarif.
"C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe" /manualCreate <driverName> <driverArchitecture> /sarifPath <pathToSarifLocation>
Generación de un DVL a partir de un archivo CodeQL sarif o cuando se usa CA y SDV
Coloque los resultados que se deben consumir para crear el DVL en un único directorio, junto con cualquier archivo vcxproj. Para que los controladores estén certificados para el cliente de Windows, este archivo es el archivo CODEQL SARIF. La certificación de Windows Server también puede incluir los archivos de resultados de Análisis de código y Comprobador de controladores estáticos (SDV). Consulte los documentos de requisitos de WHCP para obtener detalles específicos sobre qué herramientas deben ejecutarse para la certificación del controlador de dispositivo.
Coloque los archivos de CodeQL SARIF y los archivos XML de análisis de código en el nivel superior del directorio. Coloque el archivo DVL.xml de SDV en una subcarpeta denominada sdv.
Vaya al directorio de nivel superior que contiene el archivo CodeQL SARIF desde la línea de comandos.
Busque dvl.exe desde el WDK o un eWDK montado.
Llame a dvl.exe pasando la marca
/manualCreate
, un nombre de controlador y la arquitectura que desee. Por ejemplo:Use una de las siguientes cadenas para driverArchitecture:
- X86
- X64
- Arm
- Arm64
Nota:
No incluya ".sys" como parte de la cadena driverName.
Inspeccione el DVL para asegurarse de que se generó correctamente.
Este uso está pensado principalmente para generar DVL con resultados de CodeQL, pero también se puede usar para los resultados de SDV y CA.
Notas de la versión
La información más reciente sobre la herramienta de análisis de código, el comprobador de controladores estáticos y el registro de comprobación de controladores se encuentra en las notas de la versión del WDK, en la página de descarga del Kit para controladores de Windows (WDK).
Temas relacionados
- Creación de un archivo de registro para el comprobador de controladores estáticos
- Creación de un archivo de registro para la herramienta de análisis de código
- Programa de certificación de hardware
- Análisis de la calidad del controlador mediante herramientas de análisis del código
- Ejecución del análisis de código para controladores
- Uso del comprobador de controladores estático para buscar defectos en controladores
- CodeQL y la prueba de logotipo de herramientas estáticas