Historique des versions UMDF
Cette rubrique répertorie les versions de User-Mode Driver Framework (UMDF), les versions correspondantes du système d’exploitation Windows et les modifications apportées à chaque version.
Le tableau suivant montre l’historique des mises en production de la bibliothèque UMDF. Vous pouvez utiliser la barre latérale Dans cet article à droite pour accéder rapidement à une version spécifique.
Version UMDF | Version initiale | Inclus dans | Les pilotes utilisant cette version d’UMDF s’exécutent sur |
---|---|---|---|
2,33 | Windows 11, version 21H2 WDK ; WDK pour Windows Server 2022 | Windows 11, version 23H2 ; Windows 11, version 22H2 ; Windows 11, version 21H2 ; Windows Server 2022 | Windows 11, version 21H2 et ultérieure ; Windows Server 2022 et versions ultérieures |
2,31 | WDK Windows 10, version 2004 | 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érieure |
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, versions 1803 et ultérieures |
2,23 | Windows 10, version 1709 WDK | Windows 10, version 1709 (Fall Creators Update, Redstone 3) | Windows 10, version 1709 et ultérieures |
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 (Mise à jour anniversaire, Redstone 1) | Windows 10, version 1607, Windows Server 2016 et versions ultérieures |
2.17 | WDK Windows 10 version 1511 | Windows 10, version 1511 (mise à jour de novembre, seuil 2) | Windows 10, version 1511, Windows Server 2016 et versions ultérieures |
2.15 | Windows 10 WDK | Windows 10, version 1507 (seuil 1) | Windows 10, version 1507, Windows Server 2016 et versions ultérieures |
2.0 | Kit de pilotes Windows (WDK) 8.1 | Windows 8.1 | Windows 8.1 et versions ultérieures |
1.11 | Kit de pilotes Windows (WDK) 8 | Windows 8 | Windows Vista et versions ultérieures |
1,9 | Windows 7 WDK | Windows 7 | Windows XP et versions ultérieures |
1.7 | Windows Server 2008 WDK | Windows Vista avec 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 2019 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, consultez Quelle version du framework dois-je utiliser ?.
Pour plus d’informations sur les nouvelles fonctionnalités des pilotes UMDF dans Windows 10, consultez Nouveautés des pilotes WDF.
Pour chaque section de version UMDF ci-dessous, la version de Windows dans laquelle elle a été publiée est répertorié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 en D0 et que le délai d’inactivité n’est pas encore écoulé, WdfDeviceStopIdle retourne STATUS_SUCCESS (dans les versions précédentes, la valeur de retour était STATUS_PENDING).
- La fonction WdfDeviceWdmAssignPowerFrameworkSettings prend désormais en charge UMDF.
- WDF_POWER_FRAMEWORK_SETTINGS structure a deux nouveaux membres (PoFxDeviceFlags et DirectedPoFxEnabled) et peut maintenant être utilisé avec UMDF. Pour UMDF, seuls les membres Size, PoFxDeviceFlags et DirectedPoFxEnabled sont utilisés. Les autres champs sont ignorés et doivent être définis sur zéro. L’infrastructure 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 d’une nouvelle API WdfDeviceSetDeviceInterfaceStateEx
- Amélioration de l’API existante WdfDeviceGetSystemPowerAction
- Ajout de la valeur de Registre HostProcessDbgBreakOnDriverLoad par pilote. Pour plus d’informations, consultez 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)
Inchangé par rapport à la version 2.27.
UMDF 2.27 (Windows 10, version 1809)
- Ajout d’une nouvelle API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10, version 1803)
- WdfDeviceRetrieveDeviceDirectoryString
- Génération d’un pilote WDF pour plusieurs versions de Windows.
UMDF 2.23 (Windows 10, version 1709)
- Fonctionnalité complémentaire ajoutée uniquement pour une utilisation interne. Pour les nouvelles DDIs, consultez Résumé des rappels et méthodes WDF.
UMDF 2.21 (Windows 10, version 1703)
- WdfObjectDereferenceActual : type de paramètre File modifié de PCHAR en PCCH.
- WdfObjectReferenceActual : type de paramètre File modifié de PCHAR en PCCH.
- Ajout des valeurs de Registre WDF ObjectLeakDetectionLimit et ObjectsForLeakDetection pour le débogage d’une création excessive d’objets. Pour plus d’informations, consultez Valeurs de Registre pour le débogage des pilotes WDF.
UMDF 2.19 (Windows 10, version 1607)
Il n’y a aucune modification ou ajout pour UMDF version 2.19.
UMDF 2.17 (Windows 10, version 1511)
Cette version ajoute la prise en charge d’UMDF pour les interfaces existantes suivantes :
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Pour plus d’informations, consultez Dispatching IRPs to I/O Queues.
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 pour obtenir un handle de fichier pour le pilote en mode noyau inférieur suivant dans sa pile. Le pilote peut écrire des données dans ce handle, en contournant les abstractions du framework pour l’envoi d’E/S à la cible d’E/S locale.
- Un pilote UMDF peut demander que le pilote de bus sous-jacent l’énumère à nouveau. Consultez WdfDeviceSetFailed.
- La définition de la directive UmdfDirectHardwareAccess n’est plus toujours nécessaire pour les appareils qui disposent de ressources de connexion. Consultez Spécification de directives WDF dans les fichiers INF.
- Le code source WDF est disponible publiquement à partir des infrastructures de pilotes Windows. Les fichiers de symboles privés pour WDF sont disponibles via le serveur de symboles Microsoft. Consultez également Débogage avec la source et la vidéo WDF: débogage de votre pilote avec le code source WDF.
- L’enregistreur de traces à inflight (IFR) est désormais disponible. Notez qu’il est distinct de l’enregistreur d’événements de l’infrastructure. Pour plus d’informations, consultez Enregistreur de traces inflight (IFR) pour la journalisation des traces et Utilisation de l’enregistreur de traces en feu dans les pilotes KMDF et UMDF.
- Prise en charge des interruptions pour les appareils adossés à GPIO. Pour plus d’informations, consultez Création d’un objet d’interruption.
UMDF 2.0 (Windows 8.1)
En plus des fonctionnalités partagées décrites dans Prise en main avec UMDF, UMDF version 2.0 ajoute :
Prise en charge des minuteurs qui ne réveillent pas le système s’ils expirent lorsque le système est dans un état de faible consommation. Pour plus d’informations, consultez Utilisation de minuteurs.
Ajout du membre CanWakeDevice à WDF_INTERRUPT_CONFIG structure pour prendre en charge les interruptions qui peuvent être utilisées pour ramener un appareil d’un état Dx basse consommation à son état complet sur D0. Pour plus d’informations, consultez Utilisation d’une interruption pour réveiller un appareil.
Gestion de l’alimentation à composant unique et à état unique (F0) pour les pilotes UMDF. Pour plus d’informations, consultez WdfDeviceAssignS0IdleSettings.
Plusieurs commandes d’extension de débogueur dans Wdfkd.dll peuvent désormais être utilisées pour les pilotes UMDF 2.0. La bibliothèque d’extensions contient également les nouvelles commandes d’extension suivantes conçues spécifiquement pour le débogage des pilotes UMDF 2.0 :
-
Pour obtenir la liste des commandes d’extension et l’applicabilité de l’infrastructure, consultez Extensions de débogueur.
L’enregistreur d’événements de l’infrastructure, ou enregistreur d’événements en vol (IFR) a été mis à jour pour fonctionner pour 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, y compris des informations sur celles qui s’appliquent à quelle infrastructure, consultez Extensions de débogueur pour les pilotes WDF.
Ajout de WdfIoTargetOpenLocalTargetByFile à WDF_IO_TARGET_OPEN_TYPE pour permettre aux pilotes UMDF d’envoyer des requêtes créées par le pilote à des cibles inférieures qui nécessitent un objet fichier associé. Pour plus d’informations, consultez les remarques de WDF_IO_TARGET_OPEN_TYPE.
Les routines UMDF uniquement 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 et les fonctions de rappel d’événements fournies par le pilote suivantes :
La version 1.11 ajoute les interfaces fournies par l’infrastructure suivantes :
La version 1.11 ajoute les fonctionnalités suivantes aux pilotes UMDF :
Utilisation du regroupement de périphériques dans les pilotes UMDF
Ajout des directives UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy et UmdfFsContextUsePolicy , décrites dans Spécification de directives WDF dans les fichiers INF
Identificateurs de sécurité (SID) connus pour les pilotes UMDF
Prise en charge du magasin de propriétés unifié, décrite 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 ferme le handle à l’objet d’appareil après avoir pris une référence sur le handle de l’appareil. Ce comportement n’était pas compatible avec l’attente d’UMDF selon laquelle la demande de nettoyage sur l’objet d’appareil n’aura pas lieu tant que toutes les E/S ne sont pas terminées.
Prise en charge améliorée de la prise en charge des Power-Down inactifs dans les pilotes UMDF. L’infrastructure peut maintenant placer l’appareil dans l’état d’alimentation D3cold lorsque le délai d’inactivité expire. L’infrastructure peut également entraîner le retour de l’appareil à son état de fonctionnement (D0) lorsque le système revient à 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 l’infrastructure suivantes :
Ces interfaces ajoutent les fonctionnalités suivantes aux pilotes UMDF :
Lecteurs continus pour les périphériques USB
Prise en charge améliorée des interfaces d’appareil
Possibilité améliorée d’annuler les demandes d’E/S
Accès amélioré au registre
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour