Nouveautés dans le développement de pilotes pour Windows 11, version 24H2
Cette section décrit les nouvelles fonctionnalités et les mises à jour pour le développement de pilotes dans Windows 11, version 24H2. Pour cibler cette version de Windows, vous pouvez utiliser le WDK 10.0.26100.1 (publié le 22 mai 2024).
Prise en charge des packages NuGet WDK
Le package NuGet du WDK se compose de bibliothèques essentielles, d’en-têtes, de DLL, d’outils et de métadonnées utilisés pour construire des pilotes Windows qui peuvent être partagés et pris en charge par les pipelines CI/CD modernes. Les utilisateurs peuvent accéder et consommer les packages NuGet directement à partir de nuget.org dans Visual Studio. L’utilisation de NuGet avec le WDK offre une solution pratique pour l’acquisition et les mises à jour du WDK. Il gère des dépendances telles que le SDK, afin de maintenir la chaîne d’outils de développement de pilotes à jour. Pour plus d’informations, veuillez consulter la section Installer le dernier WDK à l’aide de NuGet - Étape par Étape.
Prise en charge d’ARM64
À partir de la version 10.0.26100.1 du WDK, celui-ci prend désormais en charge le développement, les tests et le déploiement de pilotes sur les machines ARM64. Le WDK/EWDK peut être installé et exécuté nativement sur du matériel ARM64, en plus de la prise en charge précédente de l’émulation des pilotes x86 KMDF/UMDF2 sur du matériel ARM64. Il existe également une prise en charge du débogage et du déploiement de pilotes sur une machine cible ARM64 à partir de machines hôtes ARM64 et x64. Le processus d’installation du WDK/EWDK sur les machines ARM64 identifiera et installera automatiquement toutes les dépendances nécessaires, y compris les outils de build, les binaires et les bibliothèques.
Audio
Mises à jour de la vue d’ensemble des extensions de la classe audio ACX et des articles sur les API Windows 11 pour les objets de traitement audio, y compris de nouvelles informations sur les points suivants :
Caméra et médias de diffusion
Trois nouveaux articles sur les caméras pour Windows 11, version 24H2 (s'applique également à Windows 11, version 23H2) :
Page des réglages de la caméra – décrit les fonctionnalités et le fonctionnement de la page des paramètres de caméra dans Windows 11, ainsi que l’infrastructure de valeurs par défaut qui autorise la configuration de la caméra mise en œuvre lorsqu’une application démarre la caméra.
Applications complémentaires pour la caméra – Cet article décrit des applications auxiliaires, une fonctionnalité d'extension permettant aux fabricants de caméras de créer des applications personnalisées capables de configurer la caméra et de définir les paramètres d'image par défaut.
Caméras réseau - Décrit la compatibilité avec les caméras réseau ONVIF sous Windows.
Nouvelles propriétés KS de la caméra et DDI :
Mises à jour des MSXU UVC pour les ajouts de limitation de fréquence d'images et de FoV2. Pour plus d'informations, veuillez consulter la section Extensions Microsoft à la spécification USB Video Class 1.5.
Affichage et pilotes graphiques
Les GPU sont de plus en plus utilisées dans les scénarios d'intelligence artificielle et d'apprentissage automatique en raison de leur puissance de calcul, de leurs capacités de traitement parallèle et de leur gestion efficace des grands ensembles de données. Plusieurs nouvelles fonctionnalités ont été ajoutées à la version 3.2 du Windows Display Driver Model (WDDM) en tant qu'optimisations de l'utilisation des GPU/NPU, notamment dans les scénarios basés sur le cloud.
Le suivi des bits d’intégrité améliore les performances du transfert de données VRAM entre les hôtes physiques lors de la migration en direct des machines virtuelles.
La migration en direct des dispositifs de calcul GPU-P hétérogènes a été ajoutée. Un contenu important peut désormais être transféré alors que les ressources virtualisées sont encore actives, réduisant ainsi le temps de pause nécessaire pour terminer une migration.
Un Objet de synchronisation de barrière native du GPU a été ajouté en tant qu’extension de l’objet de barrière surveillée, prenant en charge les fonctionnalités supplémentaires suivantes :
Attente du GPU sur la valeur de la barrière surveillée, ce qui permet une synchronisation haute performance d’un moteur à l’autre sans nécessiter de trajets aller-retour au CPU.
Notification d'interruption conditionnelle uniquement pour les signaux de barrière GPU ayant des objets waiter de processeur, permettant des économies d'énergie substantielles.
Stockage de la valeur de la barrière dans la mémoire locale du GPU.
Soumission de travail en mode utilisateur est une fonctionnalité en cours de développement qui n’est pas encore activée pour une utilisation finale. Cette fonctionnalité permet aux pilotes en mode utilisateur de soumettre du travail directement au GPU sans intervention du mode noyau.
Les autres fonctionnalités ajoutées à WDDM 3.2 incluent :
Le DDI de codage vidéo D3D12 est étendu pour prendre en charge le codage AV1.
La méthode qu’un pilote graphique en mode utilisateur ou en mode noyau utilise pour déterminer si une fonctionnalité WDDM particulière est prise en charge et activée
Le débogage TDR (détection et récupération de timeout) est amélioré pour fournir plus d’informations sur la cause d’un événement TDR.
La notification d’allocation est une fonctionnalité en cours de développement qui n’est pas encore activée pour une utilisation finale. Cette fonctionnalité permet aux pilotes en mode noyau de recevoir des notifications sur une allocation sur le point de subir une opération d’éviction ou de promotion de pagination.
Pilotes de système de fichiers et de filtre
À partir de Windows 11, version 24H2 :
Les liens de liaison peuvent être utilisés pour lier un espace de noms de système de fichiers à un « chemin virtuel » local via le filtre de liaison (bindflt.sys). Les mini-filtres peuvent choisir de veto de tels liens de liaison sur la partition de démarrage du système. Pour plus d’informations, veuillez consulter la section Opposition à un lien de liaison.
Lors de l’ouverture d’un attribut $INDEX_ALLOCATION, NtCreateFile respecte désormais l’état de l’indicateur FILE_NON_DIRECTORY_FILE, alors que ce n’était pas le cas auparavant.
FltMgr fournit une prise en charge de la requête à la création pour les informations USN et de sécurité des fichiers.
Pilotes réseau
À partir de Windows 11, version 24H2, vous pouvez écrire un pilote NetAdapterCx UMDF (User-Mode Driver Framework). Les API UMDF dans NetAdapterCx sont alignées avec les versions KMDF, vous pouvez donc convertir votre pilote client basé sur KMDF en UMDF avec peu ou pas de modifications de code.
L'agrégation de segments de réception UDP (URO) est une nouvelle fonctionnalité de déchargement matériel qui permet aux cartes d'interface réseau (NIC) d'agréger les segments de réception UDP. Pour plus d'informations, veuillez consulter les sections Déchargement de fusions de segments de réception UDP (URO) et NetAdapterCx URO.
WiFiCx Wi-Fi 7 introduit la prise en charge des fonctionnalités Wi-Fi 7, offrant des vitesses de connectivité plus rapides, une latence réduite et une sécurité améliorée. WiFiCx Wi-Fi 7 permet :
Un fonctionnement Multi-Link Operation (MLO) avec différenciation de l'itinérance pour exploiter plusieurs canaux simultanés vers le point d'accès Wi-Fi (AP).
Des capacités améliorées pour l'authentification WPA3-SAE et le chiffrement sans fil opportuniste (OWE) avec le chiffrement GCMP-256.
WiFiCx WPA3 SoftAP permet aux appareils de configurer un point d'accès logiciel (SoftAP) en utilisant le protocole de sécurité Wi-Fi Protected Access 3 - Simultaneous Authentication of Equals (WPA3-SAE).
WiFiCx QoS R1 introduit des capacités avancées de gestion du trafic pour les appareils WiFiCx. QoS R1 permet la priorisation des paquets de données Wi-Fi via le service de classification de flux en miroir (MSCS) et le mappage QoS (DSCP-to-UP Mapping).
Noyau
Quatre nouveaux DDI de gestion de l'alimentation dans wdm.h pour Windows 11, version 24H2 :
Fonction de rappel PO_EFFECTIVE_POWER_MODE_CALLBACK - Invoquée avec la valeur actuelle du paramètre d'alimentation immédiatement après l'inscription.
Énumération PO_EFFECTIVE_POWER_MODE - Énumère les modes d'alimentation effective.
Fonction PoRegisterForEffectivePowerModeNotifications - Enregistre un rappel pour recevoir des notifications de changement de mode d'alimentation effective.
Fonction PoUnregisterFromEffectivePowerModeNotifications - Entraîne la désinscription des notifications de changement de mode d'alimentation effective.
Pilotes de stockage
Un pilote miniport storport peut désormais lire des données de configuration à partir de plus d'emplacements dans le registre. Pour plus d'informations, veuillez consulter StorPortReadRegistryKey et StorPortReadDriverRegistry.
Stornvme prend en charge davantage de fonctionnalités spécifiques aux fournisseurs NVMe et de pages de journaux. Pour plus d'informations, veuillez consulter les valeurs d'énumération StorageAdapterProtocolSpecificPropertyEx, StorageDeviceProtocolSpecificPropertyEx, NVMeDataTypeLogPageEx, et NVMeDataTypeFeatureEx. Le fichier d'en-tête ntddstor.h contient des directives d'utilisation pour ces nouveaux identifiants de propriété et types de données ainsi que leurs structures d'entrée et de sortie associées.
Installer
Directive INF AddComClass : une directive AddComClass est utilisée dans une section
com-server-install-section
et enregistre une classe COM.Directive INF AddComServer : une directive AddComServer est utilisée dans une section
DDInstall.COM
et enregistre un serveur COM.Section INF DDInstall.COM : la section
DDInstall.COM
contient une ou plusieurs directives AddComServer de l'INF qui référencent d'autres sections définies par l'auteur de l'INF dans un fichier INF.L'outil de conversion de registre INF du package de pilotes (
reg2inf.exe
) convertit une clé de registre et ses valeurs ou un COM .dll implémentant une routine DllRegisterServer en un ensemble de directives INF AddReg ou section INF DDInstall.COM pour les serveurs COM in-proc à inclure dans un fichier INF de package de pilotes.
USB
- Prise en charge des informations USB superspeed via IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION et USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION.
Capteurs
Prise en charge des nouveaux champs de présence humaine dans les capteurs de proximité via HUMAN_PRESENCE_DETECTION_TYPE et PROXIMITY_SENSOR_CAPABILITIES.
Les mises à jour relatives à la présence humaine incluent la prise en charge du suivi de plusieurs personnes.
Sécurité des pilotes
Mises à jour des règles Windows CodeQL et mises à jour de la liste de vérification de la sécurité des pilotes.
Outils de débogage Windows - WinDbg
Les nouvelles fonctionnalités majeures de WinDbg sont répertoriées ici. Pour plus de détails sur les mises à jour de WinDbg, veuillez consulter les Notes de publication de WinDbg. Pour des informations générales sur les outils de débogage, veuillez consulter la section Qu'est-ce que WinDbg ?.
Débogage Linux en direct
Vous pouvez désormais déboguer en direct un processus Linux. Pour plus d’informations, consultez les articles suivants :
Débogage en direct du processus distant de Linux
Autres mises à jour et nouvelles fonctionnalités de WinDbg
Amélioration du Script du débogueur JavaScript - Débogage JavaScript
Améliorations de l’accessibilité
Débogage temporel sur ARM64
Sélection et recherche intelligentes de numéros
Nouvelle fenêtre de désassemblage
Mises à jour des Cartes d'interface réseau Ethernet prises en charge pour le débogage du noyau du réseau dans Windows 11
Informations étendues sur les vérifications des bogues, y compris de nouvelles vérifications des bogues décrites dans la section Référence des codes de vérification des bogues
Articles connexes
Pour des informations sur les nouveautés des pilotes dans les versions passées de Windows, consultez les pages suivantes :
Changements dans le développement des pilotes pour Windows 11, version 23H2
Changements dans le développement des pilotes pour Windows 11, version 22H2
Changements dans le développement des pilotes pour Windows 11, version 21H2
Changements dans le développement des pilotes pour Windows Server 2022
Changements dans le développement des pilotes pour Windows 10, version 2004