Historique des versions d'UMDF
Cette rubrique répertorie les versions de UMDF (User-Mode Driver Framework), les versions correspondantes du système d’exploitation Windows et les modifications apportées dans chaque version.
Le tableau suivant présente l’historique des versions de la bibliothèque UMDF. Pour accéder rapidement à une version déterminée, vous pouvez utiliser la barre latérale Dans cet article à droite de l'écran.
Version UMDF | Version initiale | Inclus dans | Les pilotes utilisant cette version de UMDF s'exécutent sur |
---|---|---|---|
2,33 | Windows 11, version 21H2 WDK ; WDK pour Windows Server 2022 | Windows 11, version 24H2 ; Windows 11, version 23H2 ; Windows 11, version 22H2 ; Windows 11, version 21H2 ; Windows Server 2022 | Windows 11, version 21H2 et ultérieures ; Windows Server 2022 et versions ultérieures |
2,31 | Windows 10, version 2004 WDK | Windows 10, version 2004 (mise à jour de mai 2020, Vibranium) | Windows 10, version 2004 et ultérieure |
2,29 | Non publié dans WDK | Windows 10, version 1903 (mise à jour de mars 2019, 19H1) | Windows 10, version 1903 et ultérieures |
2,27 | Windows 10, version 1809 WDK | Windows 10, version 1809 (mise à jour d’octobre 2018, Redstone 5) | Windows 10, version 1809 et ultérieures |
2.25 | Windows 10, version 1803 WDK | Windows 10, version 1803 (mise à jour d’avril 2018, Redstone 4) | Windows 10, version 1803 ou ultérieure |
2,23 | Windows 10, version 1709 WDK | Windows 10, version 1709 (Fall Creators Update, Redstone 3) | Windows 10, version 1709 et ultérieure |
2.21 | Windows 10, version 1703 WDK | Windows 10, version 1703 (Creators Update, Redstone 2) | Windows 10, version 1703 et ultérieure |
2.19 | Windows 10, version 1607 WDK | Windows 10, version 1607 (Anniversary Update, Redstone 1) | Windows 10, version 1607, Windows Server 2016 et versions ultérieures |
2.17 | Windows 10, version 1511 WDK | Windows 10, version 1511 (Mise à jour de novembre, Threshold 2) | Windows 10, version 1511, Windows Server 2016 et versions ultérieures |
2.15 | WDK de Windows 10 | Windows 10, version 1507 (Threshold 1) | Windows 10, version 1507, Windows Server 2016 et versions ultérieures |
2.0 | Windows Driver Kit (WDK) 8.1 | Windows 8.1 | Windows 8.1 et versions ultérieures |
1.11 | Windows Driver Kit (WDK) 8 | Windows 8 | Sur Windows Vista et versions ultérieures : |
1.9 | WDK de Windows 7 | Windows 7 | Windows XP et versions ultérieures |
1.7 | Windows Server 2008 WDK | Windows Vista Service Pack 1 (SP1), Windows Server 2008 | Windows XP et versions ultérieures |
1.5 | Windows Vista WDK | Windows Vista | Windows XP et versions ultérieures |
Vous pouvez utiliser le Kit de pilotes Windows (WDK) avec Microsoft Visual Studio 2022 pour générer des pilotes qui s’exécutent sur Windows 10 et versions ultérieures.
Pour obtenir de l’aide sur la version de WDF à utiliser, veuillez vous reporter à Quelle version du framework dois-je utiliser ?.
Pour en savoir plus sur les nouvelles fonctionnalités des pilotes UMDF dans Windows 10, consultez Nouveautés pour les pilotes WDF.
Pour chaque section de version de UMDF ci-dessous, la version de Windows dans laquelle elle a été publiée est indiquée entre parenthèses.
Dernière version - UMDF 2.33 (Windows 11, version 21H2 ; Windows Server 2022)
- Pour les appareils qui spécifient SystemManagedIdleTimeout ou SystemManagedIdleTimeoutWithHint dans l’énumération WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, lors de l’appel de la macro WdfDeviceStopIdle avec WaitForD0 défini sur FALSE, si l'appareil est toujours à D0 et que le délai d’inactivité n’a pas encore expiré, WdfDeviceStopIdle retourne STATUS_SUCCESS (dans les versions précédentes, la valeur retournée était STATUS_PENDING).
- La fonction WdfDeviceWdmAssignPowerFrameworkSettings prend désormais en charge UMDF.
- La structure WDF_POWER_FRAMEWORK_SETTINGS comprend deux nouveaux membres (PoFxDeviceFlags et DirectedPoFxEnabled) et peut désormais être utilisée avec UMDF. Pour UMDF, seuls les membres Size, PoFxDeviceFlags et DirectedPoFxEnabled sont utilisés. Les autres champs sont ignorés et doivent être mis à zéro. Le framework effectue cette opération automatiquement lorsqu’un pilote UMDF appelle la fonction WDF_POWER_FRAMEWORK_SETTINGS_INIT.
UMDF 2.31 (Windows 10, version 2004)
- Ajout de la nouvelle API WdfDeviceSetDeviceInterfaceStateEx
- Amélioration de l’API WdfDeviceGetSystemPowerAction existante
- Ajout de la valeur de registre HostProcessDbgBreakOnDriverLoad par pilote. Pour en savoir plus, reportez-vous à Valeurs de registre pour le débogage des pilotes WDF.
- Présentation de l’infrastructure de gestion de l’alimentation dirigée
UMDF 2.29 (Windows 10, version 1903)
Aucune modification par rapport à la version 2.27.
UMDF 2.27 (Windows 10, version 1809)
- Ajout de la nouvelle API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10, version 1803)
UMDF 2.23 (Windows 10, version 1709)
- Ajout d'une fonctionnalité complémentaire uniquement destinée à une utilisation interne. Pour les nouvelles DDI, veuillez consulter Résumé des rappels et méthodes WDF.
UMDF 2.21 (Windows 10, version 1703)
- WdfObjectDereferenceActual : paramètre Type de fichier modifié de PCHAR à PCCH.
- WdfObjectReferenceActual : paramètre Type de fichier modifié de PCHAR à PCCH.
- Ajout des valeurs de registre WDF ObjectLeakDetectionLimit et ObjectsForLeakDetection pour le débogage d’une création excessive d’objets. Pour en savoir plus, reportez-vous à Valeurs de registre pour le débogage des pilotes WDF.
UMDF 2.19 (Windows 10, version 1607)
Il n’existe aucune modification ni ajout pour UMDF Version 2.19.
UMDF 2.17 (Windows 10, version 1511)
Cette version ajoute la prise en charge UMDF pour les interfaces existantes suivantes :
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Pour en savoir plus, reportez-vous à Répartition des IRP vers des files d’attente d’E/S.
UMDF 2.15 (Windows 10, version 1507)
- La nouvelle méthode WdfDeviceOpenDevicemapKey permet à un pilote d’accéder aux sous-clés et aux valeurs sous HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Un pilote UMDF peut appeler WdfIoTargetWdmGetTargetFileHandle afin d'obtenir un descripteur de fichier vers le pilote en mode noyau immédiatement inférieur dans sa pile. Le pilote peut écrire des données dans ce descripteur, en contournant les abstractions du framework pour l’envoi d’E/S à la cible d’E/S locale.
- Un pilote UMDF peut envoyer une requête de nouvelle énumération au pilote de bus sous-jacent. Reportez-vous à WdfDeviceSetFailed.
- La définition de la directive UmdfDirectHardwareAccess n’est plus toujours nécessaire pour les appareils disposant de ressources de connexion. Reportez-vous à Spécification des directives WDF dans les fichiers INF.
- Le code source WDF est disponible publiquement auprès des Frameworks de pilotes Windows. Les fichiers de symboles privés pour WDF sont disponibles via le serveur de symboles Microsoft. Consultez également Débogage avec une source WDF et Vidéo : débogage de votre pilote avec du code source WDF.
- Inflight Trace Recorder (IFR) désormais disponible. Notez que celui-ci fonctionne séparément du journal d’événements du framework. Pour en savoir plus, consultez Inflight Trace Recorder (IFR) pour la journalisation des traces et Utilisation d'Inflight Trace Recorder dans les pilotes KMDF et UMDF.
- Prise en charge des interruptions pour les appareils GPIO. Pour en savoir plus, reportez-vous à Créer un objet d'interruption.
UMDF 2.0 (Windows 8.1)
En plus des fonctionnalités partagées décrites dans Bien démarrer avec UMDF, UMDF version 2.0 ajoute les suivantes :
Prise en charge des minuteurs qui ne font pas sortir le système de veille lorsqu'ils expirent alors que le système est dans un état à faible consommation d'énergie. Pour en savoir plus, reportez-vous à Utilisation des minuteurs.
Ajout du membre CanWakeDevice à la structure WDF_INTERRUPT_CONFIG pour prendre en charge les interruptions qui peuvent être utilisées pour ramener un appareil d’un état Dx de faible consommation à un état de fonctionnement D0. Pour en savoir plus, veuillez consulter Utilisation d’une interruption pour faire sortir un appareil d'un état de veille.
Gestion d’alimentation à un seul état (F0) et un seul composant pour les pilotes UMDF. Pour en savoir plus, consultez WdfDeviceAssignS0IdleSettings.
Plusieurs commandes d’extension de débogueur dans Wdfkd.dll peuvent désormais être aussi utilisées pour les pilotes UMDF 2.0. La bibliothèque d’extensions contient également les nouvelles commandes d’extension suivantes, spécialement conçues pour le débogage des pilotes UMDF 2.0 :
-
Pour obtenir une liste des commandes d’extension et de l’applicabilité du framework, reportez-vous à Extensions du débogueur.
Le journal d’événements du framework ou In-flight Recorder (IFR) a été mis à jour pour fonctionner avec les pilotes UMDF 2.0.
D’autres extensions de débogueur WDF ont été mises à jour pour fonctionner avec les pilotes UMDF 2.0. Pour obtenir la liste complète des commandes d’extension, notamment des informations sur celles qui s’appliquent à chaque framework, reportez-vous à Extensions de débogueur pour les pilotes WDF.
Ajout de WdfIoTargetOpenLocalTargetByFile à WDF_IO_TARGET_OPEN_TYPE pour permettre à un pilote UMDF d’envoyer des requêtes créées par le pilote à des cibles inférieures nécessitant un objet de fichier associé. Pour en savoir plus, consultez les remarques de WDF_IO_TARGET_OPEN_TYPE.
Les routines « uniquement UMDF » suivantes :
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (ajouté à KMDF 1.21)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (ajouté à KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
Les méthodes KMDF/UMDF suivantes décrites dans Accès au Modèle de propriété d'appareil unifié :
Prise en charge des types de configuration USB suivants dans WdfUsbTargetDeviceSelectConfigType :
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Prise en charge de l’interrogation des types de fonctionnalités suivants dans WdfUsbTargetDeviceQueryUsbCapability :
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
UMDF 1.11 (Windows 8)
La version 1.11 ajoute les interfaces de rappel fournies par le pilote et les fonctions de rappel d’événements suivantes :
La version 1.11 ajoute les interfaces fournies par le framework suivantes :
La version 1.11 ajoute les fonctionnalités suivantes aux pilotes basés sur UMDF :
Utilisation du regroupement d'appareils dans les pilotes UMDF
Ajout des directives UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy et UmdfFsContextUsePolicy, décrites dans Spécification des directives WDF dans les fichiers INF
Identificateurs de sécurité connus (SID) pour les pilotes UMDF
Prise en charge du magasin de propriétés unifiées, décrit dans Utilisation du registre dans les pilotes basés sur UMDF
IoGetDeviceObjectPointer est intégré pour fonctionner avec UMDF. Dans les versions antérieures, cette routine mettait fin au traitement de l’objet de l'appareil après avoir pris une référence sur le traitement de l'appareil. Ce comportement n’était pas compatible avec UMDF, où la requête de nettoyage sur l’objet du dispositif ne peut pas se produire tant que toutes les E/S ne sont pas terminées.
Prise en charge améliorée pour Prise en charge de la mise hors tension inactive dans les pilotes basés sur UMDF. Le framework peut désormais placer l'appareil dans l’état d’alimentation D3cold lorsque le délai d’inactivité expire. Le framework peut également entraîner le retour de l'appareil à son état de fonctionnement (D0) dès que le système retourne à son état de fonctionnement (S0).
Les exemples suivants sont nouveaux dans UMDF 1.11 : WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
La version 1.9 ajoute les interfaces de rappel fournies par le pilote suivantes :
La version 1.9 ajoute les interfaces fournies par le framework suivantes :
Ces interfaces ajoutent les fonctionnalités suivantes aux pilotes basés sur UMDF :
La méthode d’accès au tampon des E/S directes
Lecteurs continus pour les appareils USB
Prise en charge améliorée pour les interfaces d'appareils
Amélioration de la possibilité d’annuler les requêtes d’E/S
Accès amélioré au registre