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.
A partir de la versión 10.0.26100.1 de WDK (publicada el 22 de mayo de 2024), WDK ahora admite el desarrollo, las pruebas y la implementación de controladores en máquinas Arm64. El WDK se puede instalar y ejecutar de forma nativa en hardware Arm64, además de la emulación previamente admitida de los controladores KMDF/UMDF2 de x86 en hardware Arm64. También se admite la depuración y la implementación de controladores en una máquina de destino ARM64 desde máquinas host ARM64 y x64. El proceso de instalación de WDK en máquinas Arm64 identificará e instalará automáticamente todas las dependencias necesarias, incluidas las herramientas de compilación, los archivos binarios y las bibliotecas.
En esta página se describe cómo crear un controlador Arm64 con WDK.
Configuración
Descargue Visual Studio 2022. Necesitará como mínimo la versión 17.0.0 o posterior. Asegúrese de que tiene instalados los siguientes componentes:
- Bibliotecas con mitigaciones de Spectre de ARM64/ARM64EC de MSVC v143 de VS 2022 C++ (más recientes)
- Bibliotecas con mitigaciones de Spectre de MSVC v143 - VS 2022 C++ x64/x86 (más recientes)
- Últimas herramientas de compilación de ATL de C++ para v143 con mitigaciones de Spectre (ARM64/ARM64EC)
- Últimas herramientas de compilación de ATL de C++ para v143 con mitigaciones de Spectre (x86 y x64)
- Últimas herramientas de compilación de MFC de C++ para v143 con mitigaciones de Spectre (ARM64/ARM64EC)
- Últimas herramientas de compilación de MFC de C++ para v143 con mitigaciones de Spectre (x86 y x64)
- Kit para controladores de Windows
Instale y reinicie Visual Studio.
Descargue Windows SDK. Asegúrese de que tiene la versión 26100 del SDK (Windows 11, versión 24H2) o posterior.
Descargue el WDK. Asegúrese de que tiene WDK versión 26100 o posterior.
Creación de un controlador Arm64 con el WDK
En Visual Studio, abra una solución de controlador. Puede usar el suyo propio o uno del repositorio Windows-driver-samples .
Seleccione Plataforma de soluciones y Configuration Manager.
En Plataforma de soluciones activas, seleccione Nuevo.
En Tipo o Seleccionar nueva plataforma, seleccione Arm64. Copie la configuración de Win32. Seleccione Aceptar y Cerrar.
Seleccione Arm64 como plataforma de destino y recompile.
Problemas conocidos
Integración:
- Cuando se instalan tanto el kit de Windows 11, versión 24H2, como el kit de Windows 11, versión 22H2, al crear un controlador KMDF para ARM64 con
TargetPlatformVersionestablecido en Windows 11, versión 22H2, se produce un error debido a símbolos externos sin resolver. - No es posible depurar controladores en las versiones 17.2.0 y 17.3 de Visual Studio 2022 con el WDK de Windows 11, versión 22H2.
- Cuando se instalan tanto el kit de Windows 11, versión 24H2, como el kit de Windows 11, versión 22H2, al crear un controlador KMDF para ARM64 con
Soluciones alternativas:
- Actualice Visual Studio a la versión 17.4.1 o posterior para resolver problemas de depuración.
- Use WinDbg para depurar si la actualización de Visual Studio no es una opción.
- Considere la posibilidad de usar una versión anterior de Visual Studio si los problemas de compatibilidad persisten.
Usar Enterprise Windows Driver Kit (EWDK)
Información general sobre EWDK:
- El EWDK incluye todas las dependencias necesarias y se puede usar para compilar controladores sin necesidad de instalación de Visual Studio.
Edificio con EWDK:
Use el siguiente comando para compilar el controlador:
Msbuild -p:Configuration=Release/Debug; Platform=ARM64
Para obtener más información, consulta Enterprise WDK (EWDK).
Solución de problemas
Configuración en Visual Studio:
- En Visual Studio, configure la solución de controlador para Arm64 seleccionando la plataforma Arm64 en Configuration Manager y copiando la configuración de Win32.
Pruebas y depuración:
- Pruebe y depure controladores en un dispositivo Windows en Arm o en una máquina virtual Windows 11 Arm64.