Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se responden las preguntas más frecuentes sobre los requisitos de prueba de CodeQL para el Programa de compatibilidad de hardware de Windows. Obtenga información sobre cómo CodeQL mejora la certificación de controladores y garantiza estándares de alta seguridad.
¿Cuándo se requiere CodeQL para la certificación de dispositivos?
Consulta el proceso de certificación del Programa de compatibilidad de hardware de Windows para obtener más información sobre los requisitos.
¿Por qué se requiere CodeQL para el código fuente del controlador?
La motivación para requerir CodeQL en el código fuente del controlador se basa en dos razones principales:
Mejorar la seguridad de Windows garantizando que los componentes certificados por Microsoft cumplan los estándares de alta seguridad.
Proporcionar al ecosistema de hardware herramientas de alta calidad desarrolladas activamente por los ingenieros de seguridad de Microsoft.
¿A qué tipos de controladores se aplica CodeQL y la prueba de logotipo de Static Tools?
Actualmente, la prueba de logotipo de herramientas estáticas requiere ejecutar CodeQL y pasar el conjunto de consultas Must-Fix para todos los controladores de modo kernel, excepto los controladores gráficos.
Se recomienda ejecutar CodeQL en controladores de gráficos, aunque no sea necesario actualmente. Algunas consultas también pueden identificar defectos útiles en los componentes en modo de usuario.
¿Qué licencia rige el uso de CodeQL para desarrolladores de controladores?
El uso de CodeQL para pruebas de WHCP está permitido en virtud del Contrato de Licencia de Usuario Final del Kit de laboratorio de hardware (HLK).
Para los participantes de WHCP, el EULA de HLK prevalece sobre los Términos y Condiciones de CodeQL de GitHub. El CLUF de HLK establece que CodeQL puede usarse durante el análisis automatizado, CI o CD, como parte de los procesos normales de ingeniería, con el objetivo de analizar los controladores que se enviarán y certificarán como parte del WHCP.
¿Es necesario usar Visual Studio o msbuild para ejecutar CodeQL?
CodeQL no requiere que se use MSBuild ni Visual Studio.
Consulte los lenguajes y marcos admitidos para obtener una lista de los compiladores que se admiten.
¿Cómo verifica el HLK que mi controlador fue analizado por CodeQL?
La prueba de Logotipo de Herramientas Estáticas en el HLK es la que impone este requisito.
Los detalles de la prueba de logotipo de Static Tools se pueden encontrar en su página ms Docs.
¿Todos los defectos notificados por CodeQL son verdaderos?
Cada consulta CodeQL tiene distintos niveles de precisión.
Nuestro objetivo es minimizar los falsos positivos, pero en ocasiones se producirán. Nuestro conjunto de consultas Must-Fix se han desarrollado y seleccionado manualmente para su uso con el programa WHCP porque nuestras pruebas extensas generan casi cero falsos positivos.
Si ve falsos positivos de una consulta en el conjunto de consultas Must-Fix, envíe un correo electrónico stlogohelp@microsoft.com inmediatamente o presente un problema en el repositorio de Windows-Driver-Developer-Supplemental-Tools, y trabajaremos para resolverlo lo antes posible.
¿Importa la clasificación de una consulta de "advertencia" o "error" para los fines del Static Tools Logo Test?
CodeQL clasifica las consultas como error, advertencia o problema, pero esta clasificación es independiente de cómo el Programa de compatibilidad de hardware de Windows y la prueba de logotipo de herramientas estáticas califican los resultados.
Los controladores con defectos en cualquier consulta Must-Fix no pasan la prueba del logotipo de Static Tools y falla la certificación, independientemente de la clasificación de la consulta (por ejemplo, advertencia).
¿Puedo generar una DVL en soluciones de Visual Studio?
No, la generación de DVL debe ejecutarse en el nivel de proyecto y no se puede ejecutar en soluciones de Visual Studio.
Para obtener instrucciones completas para generar una DVL, consulte Creación de un registro de comprobación de controladores.
¿Puedo generar un registro de comprobación de controladores (DVL) fuera del contexto de msbuild o Visual Studio?
Como parte del Kit de controladores de Windows (WDK) y Enterprise WDK (eWDK), Microsoft envía un componente denominado dvl.exe que se puede usar para generar registros de comprobación de controladores (DVL).
En las versiones preliminares de WDK/eWDK 21342 y versiones posteriores, puede generar una DVL desde la línea de comandos sin usar msbuild o Visual Studio especificando un nombre de controlador y una arquitectura.
Vea Creación de un log de verificación de controladores para obtener más detalles.
Tengo comentarios o preguntas sobre cómo usar CodeQL en mi controlador, ¿dónde envío comentarios?
Envíe sus comentarios y preguntas a stlogohelp@microsoft.com.