Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 dans chaque version.
Le tableau suivant montre l’historique des versions de la bibliothèque UMDF. Vous pouvez utiliser la barre latérale de cet article à droite pour accéder rapidement à une version spécifique.
| Version UMDF | Version initiale | Inclus dans | Pilotes utilisant cette version UMDF exécutée 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érieure ; 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érieure |
| 2.25 | Windows 10, version 1803 WDK | Windows 10, version 1803 (mise à jour d’avril 2018, Redstone 4) | Windows 10 version 1803 et 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érieures |
| 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 | Windows 10, version 1511 WDK | 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 Kit de développement de pilotes (WDK) | Windows 10, version 1507 (Threshold 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 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 détermination de la version de WDF à utiliser, consultez Quelle version de 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 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 la période d’inactivité n’a pas encore expiré, WdfDeviceStopIdle retourne STATUS_SUCCESS (dans les versions précédentes, cela a entraîné une valeur de retour de 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 désormais ê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 de la nouvelle API WdfDeviceSetDeviceInterfaceStateEx
- Amélioration de l’API WdfDeviceGetSystemPowerAction existante
- Ajout de la valeur de Registre HostProcessDbgBreakOnDriverLoad pour chaque 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 de la 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 le Résumé des callbacks et méthodes WDF.
UMDF 2.21 (Windows 10, version 1703)
- WdfObjectDereferenceActual : type de paramètre de fichier 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 les 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 de UMDF pour les interfaces existantes suivantes :
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Pour plus d’informations, consultez Répartition des IRP dans les 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 valeurs sous HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Un pilote UMDF peut appeler WdfIoTargetWdmGetTargetFileHandle pour obtenir un handle de fichier vers le pilote en mode noyau immédiatement inférieur dans sa pile. Le pilote peut écrire des données dans ce handle, en contournant les abstractions du cadre pour l'envoi d'E/S vers la cible locale d'E/S.
- Un pilote UMDF peut demander que le pilote de bus sous-jacent le ré-énumère. Consultez WdfDeviceSetFailed.
- La définition de la directive UmdfDirectHardwareAccess n’est plus toujours nécessaire pour les appareils disposant de ressources de connexion. Consultez spécification des directives WDF dans les fichiers INF.
- Le code source WDF est disponible publiquement à partir 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 le code source WDF et vidéo : débogage de votre pilote avec le code source WDF.
- Enregistreur de trace en vol (IFR) désormais disponible. Notez que cela est distinct de l’enregistreur d’événements du framework. Pour plus d’informations, consultez Inflight Trace Recorder (IFR) pour la journalisation des traces et l’utilisation de l'enregistreur de traces en vol dans les pilotes KMDF et UMDF.
- Prise en charge des interruptions pour les appareils connectés via 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 Getting Started with 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 basse consommation. Pour plus d’informations, consultez Utilisation des minuteurs.
Ajout du membre CanWakeDevice à la structure WDF_INTERRUPT_CONFIG pour prendre en charge les interruptions permettant de ramener un appareil d’un état Dx à faible alimentation à son état sous tension D0. Pour plus d’informations, consultez Using an Interrupt to Wake a Device.
Gestion de l'alimentation à un seul composant et à un seul état (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 de l’applicabilité du framework, consultez Extensions du débogueur.
L’enregistreur d’événements du framework ou l’enregistreur d’événementsen 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, notamment des informations sur celles qui s’appliquent à l’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 nécessitant un objet de fichier associé. Pour plus d’informations, 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 Access the Unified Device Property Model :
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_CAPACITE_CONNEXION_DE_PERIPHERIQUE_SUPER_VITESSE_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 l’infrastructure suivantes :
La version 1.11 ajoute les fonctionnalités suivantes aux pilotes basés sur 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 des directives WDF dans les fichiers INF
Identificateurs de sécurité connus (SID) pour les pilotes UMDF
Prise en charge unifiée du stockage de propriétés, 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 de l’appareil après avoir pris une référence sur le handle de l’appareil. Ce comportement n’était pas compatible avec l’attente de UMDF que la demande de nettoyage sur l’objet de l’appareil ne se produira pas tant qu’une fois toutes les E/S terminées.
Prise en charge améliorée de l'état Power-Down inactif dans les pilotes basés sur UMDF. Le framework peut désormais mettre l’appareil dans l’état d’alimentation D3cold à l'expiration de la période d’inactivité. L’infrastructure peut également entraîner le retour de l’appareil à son état de travail (D0) lorsque le système retourne à son état de travail (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 basés sur UMDF :
Lecteurs continus pour les périphériques USB
Prise en charge améliorée pour les interfaces de périphériques
Possibilité améliorée d’annuler les demandes d’E/S
Accès amélioré au Registre