Formación
Módulo
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.
Este explorador xa non é compatible.
Actualice a Microsoft Edge para dispoñer das funcionalidades máis recentes, as actualizacións de seguranza e a asistencia técnica.
En este tema se detallan los problemas conocidos relacionados con el WDK.
Después del aprovisionamiento y la implementación, la máquina de destino no se puede reiniciar después de los pasos de implementación.
Cuando el kit de Windows 11, versión 24H2, y el kit de Windows 11, versión 22H2m se instalan en un equipo ARM64, al compilar un controlador KMDF para ARM64 con TargetPlatformVersion establecido en Windows 11, se produce un error en la versión 22H2 de WdfDriverEntry.lib(stub.obj) : error LNK2001: unresolved external symbol
.
Si usa Visual Studio versión 17.11.0 o posterior, desactive la casilla de instalación de extensión en la instalación de WDK.
Si instaló Windows 11 original, versión 22H2 WDK entre mayo y agosto de 2022 (versión 10.0.22621.1), es posible que vea el siguiente mensaje de error al iniciar Visual Studio con WDK.
El paquete Microsoft.Windows.Tools.WinIDE.Debugger.DebuggerPackage, DebuggerPackage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null
no se cargó correctamente.
Este problema está corregido en el WDK versión 10.0.22621.382. Puede desinstalar el WDK y, a continuación, volver a instalar el WDK más reciente mediante las instrucciones de Descarga del Kit para controladores de Windows.
No es posible depurar controladores dentro de la interfaz de Visual Studio cuando se usa Visual Studio 2022 versión 17.2.0 y 17.3 con Windows 11, versión 22H2 WDK (10.0.22621.382). Para solucionar el problema, realice una de las siguientes acciones: actualice Visual Studio a 17.4.1 o posterior, depure con WinDbg o use una versión de Visual Studio anterior a la 17.2.0. El siguiente mensaje de error está relacionado con este problema:
Se debe llamar a QueryBuildManagerBusyEx en la interfaz de usuario.
A partir de esta versión, ya no se admiten los coinstaladores redistribuibles de WDF. En concreto, en un equipo que tiene Windows 11, versión 22H2 WDK y un WDK anterior, al compilar un controlador WDF 1.11, msbuild produce un error porque no encuentra el coinstalador WDF.
Para solucionar este problema, antes de instalar Windows 11, versión 22H2 WDK, realice una copia de seguridad de la carpeta \Program files (x86)\windows kit\10\redist\wdf
y restáurela después. Como alternativa, si ya ha instalado Windows 11, versión 22H2 WDK, instale el archivo MSI de los componentes redistribuibles de WDK 8 en un equipo independiente y copie la carpeta redist
en la carpeta anterior. Para obtener más información, consulte Componentes de marco redistribuibles.
En mayo de 2020, OSR descubrió que la nueva compatibilidad de nivel descendente para el establecimiento en cero de las asignaciones de grupos tenía un problema que podía provocar que una asignación no se inicializase con cero en sistemas que ejecutan Windows 10, versión 1909. Esto se ha corregido ahora con una actualización de seguridad del WDK para Windows 10, versión 2004 y Enterprise WDK (EWDK) para Windows 10, versión 2004 el 16 de diciembre. Microsoft ha aprovechado la actualización de seguridad y ha actualizado el EWDK para incluir las herramientas de compilación de Visual Studio 16.7. Microsoft recomienda a todos los desarrolladores de controladores desinstalar el SDK y WDK originales (versión 2004) e instalar el SDK de actualización y WDK o EWDK.
Para garantizar que existía una solución de seguridad completa, en noviembre se publicó una corrección del sistema operativo para Windows 10, versión 1909, de modo que si se creaba un controlador con el problema de seguridad, el sistema operativo estaría protegido frente a él.
Además de descargar el WDK/EWDK actualizado, Microsoft recomienda que todos los controladores cambien todas las asignaciones de kernel para usar los nuevos DDI de agrupación cero que devuelven memoria cero de forma predeterminada. Esto aumentará la seguridad y la confiabilidad de los controladores. Para ayudar con esta transición, Microsoft ha creado una regla de comprobador de controladores estáticos que está disponible en versión preliminar de Windows 10 WDK versiones 20236 y posteriores. La regla identificará todas las instancias del código fuente de un controlador donde se usan los DDI de asignación de grupos antiguos y recomendará reemplazarlas por la DDI nueva y equivalente más segura. La regla es aplicable a los controladores basados en WDM, WDF y NDIS.
Aunque la instalación de WDK habilitará la mitigación de Spectre de forma predeterminada para todos los controladores, ya no las habilita para todos los proyectos de C++.
Al seleccionar [Versión del SDK de Windows] en "10.0 (versión instalada más reciente)" con el WDK 10.0.19041.0, se produce el error "No se encontró un WDK correspondiente a la versión de destino '10.0.19041.0'", aunque la versión del SDK esté instalada.
Solución alternativa: en la página de propiedades del proyecto de controlador (Propiedades de configuración >General) establezca la versión del SDK de Windows en $(LatestTargetPlatformVersion). Si esta opción no está disponible para seleccionar, seleccione la opción heredar del valor predeterminado primario o del proyecto.
La ejecución del comprobador de controladores estáticos desde EWDK requiere .Net Framework 4.7.2. Dependiendo de la versión de Windows en el sistema, es posible que .NET esté instalado, pero debe estar habilitado o no estar instalado. Para obtener más información sobre la versión de .NET instalada o el estado de la instalación de .NET, consulte Versiones y dependencias de .NET Framework.
Al intentar crear un registro de comprobación del controlador (DVL), se mostrará el siguiente error:
Unhandled Exception: System.IO.FileNotFoundException:
Could not load file or assembly
'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
or one of its dependencies.
The system cannot find the file specified.
Esto puede ocurrir en los entornos de línea de comandos y GUI. Este problema se resuelve en una versión futura del WDK y se puede ver en el WDK de Windows Insider Preview. Desafortunadamente, no existe ninguna solución alternativa para la versión actual.
SDV tiene una dependencia de VCRUNTIME140D.dll como parte de Visual Studio. Por lo tanto, se producirá un error al ejecutar el EWDK en una máquina sin VS instalado. Instale Visual Studio en el equipo para solucionar este problema.
El comprobador de controladores no se habilita o deshabilita cuando se ejecutan las pruebas fundamentales del dispositivo mediante el Explorador de pruebas de WDK.
Solución alternativa: en la máquina cliente, habilite o deshabilite manualmente el comprobador de controladores según estas instrucciones.
Con ambas versiones de kits instalados en el mismo equipo, la característica "Implementar controlador" no funcionará para la versión anterior.
Solución alternativa: use 1803 en una máquina independiente si se necesita implementar la característica del controlador.
En el WDK para Windows 10, versión 1809, se realizaron cambios en WDTF para admitir esta versión de Windows 10, versión 1809. La consecuencia es que WDTF ya no se ejecutará en el sistema operativo de nivel descendente. El cambio continúa con el WDK para Windows 10, versión 2004.
Las pruebas WDTF del WDK para Windows 10, versión 1803, se pueden ejecutar en versiones anteriores de Windows.
En una máquina de arquitectura x86 no se puede ejecutar APIValidator en archivos binarios x64. Si se compilan controladores x64 en una máquina x86, APIValidator debe estar desactivado.
Solución alternativa:
Vaya a la página de propiedades de la solución de controlador.
Seleccione APIValidator, después General y, a continuación, cambie Ejecutar ApiValidator de Sí a No.
Debe instalar microsoft Security Advisory 3033929 (KB3033929) antes de instalar WDK en sistemas que ejecutan Windows 7. KB3033929 se puede descargar desde el Centro de descarga de Microsoft.
Este mensaje de error se puede ver si el WDK se desinstaló, pero no se desinstaló la extensión de controladores WDK para Visual Studio.
Solución: en Visual Studio, vaya al menú desplegable Extensión, elija Administrar extensiones, seleccione el Kit para controladores de Windows y, a continuación, haga clic en Desinstalar.
En Configuración del sistema vaya a Agregar o quitar programas, busque Kit para controladores de Windows y anote la versión. El WDK original para Windows 10, versión 2004, tiene una versión de 10.0.19041.1, la versión actualizada de WDK es 10.0.19041.685 Para el EWDK, una vez que se inicia el entorno EWDK, consulte el título de la ventana de comandos. La versión actualizada contendrá vb_release_svc_prod1.19041.685. Además, al examinar las variables de entorno, la variable BuildLab debe mostrar vb_release_svc_prod1.19041.685.
Sin embargo, el Kit de desarrollo de software (SDK) de Windows actualizado contiene una corrección para onecore.lib que puede ser útil. Además, generalmente es una buena idea mantener el SDK y WDK alineados.
Se recomienda encarecidamente desinstalar el SDK y el WDK originales de 2004 e instalar el SDK y el WDK de actualización de seguridad. Dicho esto, si el WDK actualizado se instala sobre el WDK original, la versión actualizada sobrescribirá a la original. Nota: en este escenario, en "Agregar o quitar programas", se mostrarán ambas versiones.
Formación
Módulo
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.
Documentación
Versiones anteriores del WDK y otras descargas - Windows drivers
Instale versiones del Kit para controladores de Windows (WDK), el depurador de Windows (WinDBG) y mucho más.
Instalación de versiones preliminares del Kit de controladores de Windows (WDK) - Windows drivers
Instrucciones de instalación de la versión previa más reciente del Kit para controladores de Windows (WDK)
Notas de la versión del Kit para controladores de Windows (WDK) - Windows drivers
Resalta las características más recientes de las nuevas versiones de WDK.