Historique des versions de KMDF
Cette rubrique répertorie les versions de KMDF (Kernel-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 KMDF. Pour accéder rapidement à une version déterminée, vous pouvez utiliser la barre latérale Dans cet article à droite de l'écran.
Version KMDF | Version initiale | Inclus dans | Les pilotes utilisant cette version de KMDF s'exécutent 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érieures ; 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érieures |
1,25 | Windows 10, version 1803 WDK | Windows 10, version 1803 | Windows 10, version 1803 ou 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érieure |
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 | WDK de Windows 10 | Windows 10, version 1507 | Windows 10, version 1507, Windows Server 2016 et versions ultérieures |
1.13 | WDK de Windows 8.1 | Windows 8.1 | Windows 8.1 et versions ultérieures |
1.11 | WDK de Windows 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 2000 et versions ultérieures |
1.5 | Windows Vista WDK | Windows Vista | Windows 2000 et versions ultérieures |
1.1 | Uniquement téléchargement | Aucune | Windows 2000 et versions ultérieures |
1.0 | Uniquement téléchargement | Aucune | 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 obtenir la liste complète des rappels et méthodes, ainsi que des frameworks et versions auxquels ils s’appliquent, veuillez consulter Résumé des rappels et méthodes WDF.
Pour en savoir plus sur les nouvelles fonctionnalités des pilotes KMDF dans Windows 10, consultez Nouveautés pour les pilotes WDF.
Pour chaque section de version de KMDF ci-dessous, la version de Windows dans laquelle elle a été publiée est indiqué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 à 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 structure WDF_POWER_FRAMEWORK_SETTINGS comprend 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)
Aucune modification par rapport à la version 1.25.
KMDF 1.27 (Windows 10, version 1809)
Aucune modification par rapport à la version 1.25.
KMDF 1.25 (Windows 10, version 1803)
KMDF 1.23 (Windows 10, version 1709)
- Ajout d'une fonctionnalité complémentaire uniquement destinée à une utilisation interne. Pour en savoir plus, reportez-vous à Wdfcompanion.h.
KMDF 1.21 (Windows 10, version 1703)
- Auparavant, WdfFileObjectGetInitiatorProcessId n'était disponible que dans UMDF, et non KMDF comme désormais.
- Auparavant, WdfRequestGetRequestorProcessId n'était disponible que dans UMDF, et non KMDF comme désormais.
- 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.
- L’outil logiciel SleepStudy indique le nombre de références d’alimentation d’un pilote KMDF qui empêchent le système de se mettre en veille. Pour en savoir plus, reportez-vous à SleepStudy, 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 de 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 en savoir plus sur les transactions DMA à transfert unique, reportez-vous à Utilisation des 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 aux valeurs sous HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- 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.
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 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.
- Prise en charge des minuteurs haute résolution. Pour en savoir plus, reportez-vous à Utilisation des minuteurs.
- 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.
- Les méthodes KMDF/UMDF suivantes décrites dans Accès au Modèle de propriété d'appareil unifié :
Pour obtenir plus d’informations sur les versions d'UMDF, consultez Historique des versions d'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
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 de EvtDeviceUsageNotificationEx.
Ajout des membres IdleTimeoutType et ExcludeD3Cold à WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Ajout du membre ReportInactiveOnPowerDown à WDF_INTERRUPT_CONFIG.
Ajout de la valeur WdfIoTargetPurged à 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 le framework.
Ajout des exemples InstallWdf, MultiComp et SingleComp .
KMDF 1.9 (Windows 7)
La version 1.9 ajoute les fonctionnalités suivantes :
Progression vers l’avant garantie pour les files d’attente d’E/S
Prise en charge des requêtes de replacement en file d’attente d’E/S entre la file d'attente d'un appareil enfant et celle d’un appareil parent
Possibilité de préciser 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 appareils puissent limiter le nombre de requêtes d’E/S fournies par le framework 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 Service Pack 1 (KMDF) ; 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 des éléments 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)
Publication initiale.