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 Kernel-Mode Driver Framework (KMDF), 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 KMDF. Vous pouvez utiliser la barre latérale de cet article à droite pour accéder rapidement à une version spécifique.
| Version KMDF | Version initiale | Inclus dans | Pilotes utilisant cette version KMDF exécutée sur |
|---|---|---|---|
| 1.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 |
| 1,31 | Windows 10, version 2004 WDK | Windows 10, version 2004 | Windows 10, version 2004 et ultérieure |
| 1.29 | Non publié dans WDK | Windows 10, version 1903 | Windows 10 version 1903 et ultérieures |
| 1,27 % | Windows 10, version 1809 WDK | Windows 10, version 1809 | Windows 10, version 1809 et ultérieure |
| 1,25 | Windows 10, version 1803 WDK | Windows 10, version 1803 | Windows 10 version 1803 et ultérieure |
| 1.23 | Windows 10, version 1709 WDK | Windows 10, version 1709 | Windows 10, version 1709 et ultérieure |
| 1.21 | Windows 10, version 1703 WDK | Windows 10 version 1703 | Windows 10, version 1703 et ultérieures |
| 1,19 | Windows 10, version 1607 WDK | Windows 10, version 1607 | Windows 10 version 1607, Windows Server 2016 et versions ultérieures |
| 1.17 | Windows 10, version 1511 WDK | Windows 10 version 1511 | Windows 10 version 1511, Windows Server 2016 et versions ultérieures |
| 1.15 | Windows 10 Kit de développement de pilotes (WDK) | Windows 10, version 1507 | Windows 10, version 1507, Windows Server 2016 et versions ultérieures |
| 1.13 | Windows 8.1 WDK | Windows 8.1 | Windows 8.1 et versions ultérieures |
| 1.11 | Windows 8 WDK | 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 2000 et versions ultérieures |
| 1,5 | Windows Vista WDK | Windows Vista | Windows 2000 et versions ultérieures |
| 1.1 | Télécharger uniquement | Aucun | Windows 2000 et versions ultérieures |
| 1,0 | Télécharger uniquement | Aucun | 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 obtenir la liste complète des rappels et méthodes, ainsi que les frameworks et versions auxquels ils s’appliquent, consultez Résumé des rappels et méthodes WDF.
Pour plus d’informations sur les nouvelles fonctionnalités des pilotes KMDF dans Windows 10, consultez What’s New for WDF Drivers.
Pour chaque section de version KMDF ci-dessous, la version Windows dans laquelle elle a été publiée est répertoriée entre parenthèses.
Dernière version - KMDF 1.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).
- WDF_POWER_FRAMEWORK_SETTINGS structure a deux nouveaux membres (PoFxDeviceFlags et DirectedPoFxEnabled).
KMDF 1.31 (Windows 10, version 2004)
- Ajout de la nouvelle API WdfDeviceSetDeviceInterfaceStateEx
- Amélioration de l’API WdfDeviceGetSystemPowerAction existante
- Ajout de la nouvelle API WdfPdoInitRemovePowerDependencyOnParent
- Présentation de l’infrastructure de gestion de l’alimentation dirigée
KMDF 1.29 (Windows 10, version 1903)
Inchangé par rapport à la version 1.25.
KMDF 1.27 (Windows 10, version 1809)
Inchangé par rapport à la version 1.25.
KMDF 1.25 (Windows 10, version 1803)
KMDF 1.23 (Windows 10, version 1709)
- Fonctionnalité complémentaire ajoutée uniquement pour une utilisation interne. Pour plus d’informations, consultez Wdfcompanion.h.
KMDF 1.21 (Windows 10, version 1703)
- WdfFileObjectGetInitiatorProcessId était précédemment UMDF-only, désormais disponible dans KMDF.
- WdfRequestGetRequestorProcessId était précédemment UMDF-only, désormais disponible dans KMDF.
- 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.
- L’outil logiciel SleepStudy signale le nombre de références d’alimentation qu’un pilote KMDF a qui empêchent le système de dormir. Pour plus d’informations, consultez SleepStudy de veille moderne.
KMDF 1.19 (Windows 10, version 1607)
- Ajout de WdfDmaTransactionSetSingleTransferRequirement
- Ajout de l’indicateur WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER dans WDF_DMA_ENABLER_CONFIG_FLAGS
- Ajoutée la valeur de retour STATUS_WDF_TOO_MANY_TRANSFERS pour WdfDmaTransactionInitialize et WdfDmaTransactionDmaCompleted
- Ajout de messages de sortie pour la sortie de transfert unique vers !wdfkd.wdfdmatransaction et !wdfkd.wdfdmaenabler
- Pour plus d’informations sur le DMA à transfert unique, consultez Utilisation du DMA à transfert unique.
KMDF 1.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.
- 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.
KMDF 1.13 (Windows 8.1)
KMDF version 1.13 ajoute les fonctionnalités suivantes :
- 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.
- Prise en charge des minuteurs haute résolution. Pour plus d’informations, consultez Utilisation des minuteurs.
- 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.
- Les méthodes KMDF/UMDF suivantes décrites dans Access the Unified Device Property Model :
Pour plus d’informations sur les versions de UMDF, consultez l’historique des versions de UMDF.
KMDF 1.11 (Windows 8)
La version 1.11 ajoute les fonctionnalités suivantes :
Prise en charge des interruptions de niveau passif
États d’alimentation fonctionnelle pour plusieurs composants au sein d’un seul appareil
Répartition des adresses IP virtuelles vers des files d’attente d’E/S
Les méthodes suivantes :
- WdfDeviceConfigureWdmIrpDispatchCallback
- WdfDeviceInitSetReleaseHardwareOrderOnFailure
- WdfDeviceInitSetRemoveLockOptions
- WdfDeviceWdmDispatchIrp
- WdfDmaEnablerConfigureSystemProfile
- WdfDmaTransactionAllocateResources
- WdfDmaTransactionCancel
- WdfDmaTransactionFreeResources
- WdfDmaTransactionGetTransferInfo
- WdfDmaTransactionInitializeUsingOffset
- WdfDmaTransactionSetChannelConfigurationCallback
- WdfDmaTransactionSetDeviceAddressOffset
- WdfDmaTransactionSetImmediateExecution
- WdfDmaTransactionSetTransferCompleteCallback
- WdfDmaTransactionWdmGetTransferContext
- WdfInterruptQueueWorkItemForIsr
- WdfInterruptReportActive
- WdfInterruptReportInactive
- WdfInterruptTryToAcquireLock
- WdfIoQueueStopAndPurge
- WdfIoQueueStopAndPurgeSynchronously
- WdfIoTargetPurge
- WdfUsbTargetDeviceCreateIsochUrb
- WdfUsbTargetDeviceCreateUrb
- WdfUsbTargetDeviceCreateWithParameters
- WdfUsbTargetDeviceQueryUsbCapability
Ajout des membres IdleTimeoutType et ExcludeD3Cold à WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Ajout du membre ReportInactiveOnPowerDown à WDF_INTERRUPT_CONFIG.
Ajout de la valeur WdfIoTargetPurged dans WDF_IO_TARGET_STATE.
Ajout de la valeur WdfSpecialFileBoot à WDF_SPECIAL_FILE_TYPE.
Ajout de DbgWaitForSignalTimeoutInSec aux valeurs de Registre pour le débogage des pilotes basés sur un framework.
Ajout d’exemples InstallWdf, MultiComp et SingleComp .
KMDF 1.9 (Windows 7)
La version 1.9 ajoute les fonctionnalités suivantes :
Avancement garanti pour les files d'attente E/S
Prise en charge de la re-mise en file d’attente d’E/S d’un appareil enfant vers la file d’attente d’E/S d’un appareil parent
Possibilité de spécifier la synchronisation au niveau de la file d’attente pour les objets de file d’attente individuels.
Les méthodes suivantes :
Ajout du membre NumberOfPresentedRequests à la structure WDF_IO_QUEUE_CONFIG afin que les pilotes puissent limiter le nombre de requêtes d’E/S que l’infrastructure remet au pilote à partir d’une file d’attente d’E/S parallèle.
Ajout de l’indicateur WdfFileObjectCanBeOptional à la structure WDF_FILEOBJECT_CLASS .
Ajout du membre TolerableDelay à la structure WDF_TIMER_CONFIG.
Ajout des valeurs de registre WdfDefaultIdleInWorkingState et WdfDefaultWakeFromSleepState.
KMDF 1.7 (Windows Vista avec Service Pack 1 ; Windows Server 2008)
La méthode WdfDeviceEnqueueRequest peut être appelée à IRQL<=DISPATCH_LEVEL.
La méthode WdfWorkItemEnqueue peut être appelée si l’élément de travail spécifié se trouve déjà dans la file d’attente de l’élément de travail.
Ajout de la fonction de rappel d’événement EvtDeviceArmWakeFromSxWithReason.
Ajout des membres ArmForWakeIfChildrenAreArmedForWake et IndicateChildWakeOnParentWake à la structure WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
Ajout du membre DriverPoolTag à WDF_DRIVER_CONFIG.
KMDF 1.1 (non publié dans une version De Windows)
- Les méthodes suivantes :
KMDF 1.0 (non publié dans une version De Windows)
Version initiale.