Cronologia delle versioni di KMDF
Questo argomento elenca le versioni di Kernel-Mode Driver Framework (KMDF), le versioni corrispondenti del sistema operativo Windows e le modifiche apportate in ogni versione.
La tabella seguente illustra la cronologia delle versioni della libreria KMDF. È possibile usare la barra laterale In questo articolo a destra per passare rapidamente a una versione specifica.
Versione kmdf | Versione iniziale | Incluso in | I driver che usano questa versione kmDF vengono eseguiti in |
---|---|---|---|
1.33 | Windows 11, versione 21H2 WDK; WDK per Windows Server 2022 | Windows 11, versione 24H2; Windows 11, versione 23H2; Windows 11, versione 22H2; Windows 11, versione 21H2; Windows Server 2022 | Windows 11, versione 21H2 e successive; Windows Server 2022 e versioni successive |
1.31 | Windows 10, versione 2004 WDK | Windows 10, versione 2004 | Windows 10, versione 2004 e successive |
1,29 | Non rilasciato in WDK | Windows 10, versione 1903 | Windows 10, versione 1903 e successive |
1.27 | Windows 10, versione 1809 WDK | Windows 10, versione 1809 | Windows 10, versione 1809 e successive |
1.25 | Windows 10, versione 1803 WDK | Windows 10 versione 1803 | Windows 10 versione 1803 e successive. |
1.23 | Windows 10, versione 1709 WDK | Windows 10 versione 1709 | Windows 10, versione 1709 e successive |
1.21 | Windows 10, versione 1703 WDK | Windows 10, versione 1703 | Windows 10, versione 1703 e successive |
1,19 | Windows 10, versione 1607 WDK | Windows 10 versione 1607 | Windows 10 versione 1607, Windows Server 2016 e versioni successive |
1.17 | Windows 10, versione 1511 WDK | Windows 10, versione 1511 | Windows 10 versione 1511, Windows Server 2016 e versioni successive |
1.15 | Windows 10 WDK | Windows 10, versione 1507 | Windows 10, versione 1507, Windows Server 2016 e versioni successive |
1.13 | Windows 8.1 WDK | Windows 8.1 | Windows 8.1 e versioni successive |
1.11 | Windows 8 WDK | Windows 8 | Windows Vista e versioni successive |
1,9 | Windows 7 WDK | Windows 7 | Windows XP e versioni successive |
1,7 | Windows Server 2008 WDK | Windows Vista con Service Pack 1 (SP1); Windows Server 2008 | Windows 2000 e versioni successive |
1,5 | Windows Vista WDK | Windows Vista | Windows 2000 e versioni successive |
1.1 | Solo download | None | Windows 2000 e versioni successive |
1.0 | Solo download | None | Windows XP e versioni successive |
Puoi usare Windows Driver Kit (WDK) con Microsoft Visual Studio 2022 per compilare driver eseguiti in Windows 10 e versioni successive.
Per informazioni su quale versione di WDF usare, vedere Quale versione del framework usare?.
Per un elenco completo di callback e metodi e a quali framework e versioni si applicano, vedere Riepilogo dei callback e dei metodi di WDF.
Per informazioni sulle nuove funzionalità per i driver KMDF in Windows 10, vedi Novità per i driver WDF.
Per ogni sezione della versione kmDF riportata di seguito, la versione di Windows in cui è stata rilasciata è elencata tra parentesi.
Versione più recente - KMDF 1.33 (Windows 11, versione 21H2; Windows Server 2022)
- Per i dispositivi che specificano SystemManagedIdleTimeout o SystemManagedIdleTimeoutWithHint nell'enumerazione WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, quando si chiama la macro WdfDeviceStopIdle con WaitForD0 impostato su FALSE, se il dispositivo è ancora in D0 e il periodo di timeout di inattività non è ancora trascorso, WdfDeviceStopIdle restituisce STATUS_SUCCESS (nelle versioni precedenti viene restituito un valore restituito di STATUS_PENDING).
- WDF_POWER_FRAMEWORK_SETTINGS struttura ha due nuovi membri (PoFxDeviceFlags e DirectedPoFxEnabled).
KMDF 1.31 (Windows 10, versione 2004)
- Aggiunta della nuova API WdfDeviceSetDeviceInterfaceStateEx
- Miglioramento dell'API esistente WdfDeviceGetSystemPowerAction
- Aggiunta della nuova API WdfPdoInitRemovePowerDependencyOnParent
- Introduzione a Directed Power Management Framework
KMDF 1.29 (Windows 10, versione 1903)
Non modificato dalla versione 1.25.
KMDF 1.27 (Windows 10, versione 1809)
Non modificato dalla versione 1.25.
KMDF 1.25 (Windows 10, versione 1803)
KMDF 1.23 (Windows 10, versione 1709)
- Funzionalità complementare aggiunta solo per uso interno. Per altre info, vedi Wdfcompanion.h.
KMDF 1.21 (Windows 10, versione 1703)
- WdfFileObjectGetInitiatorProcessId era precedentemente disponibile solo in UMDF, ora disponibile in KMDF.
- WdfRequestGetRequestorProcessId era in precedenza solo UMDF, ora disponibile in KMDF.
- WdfObjectDereferenceActual: tipo di parametro File modificato da PCHAR a PCCH.
- WdfObjectReferenceActual: tipo di parametro File modificato da PCHAR a PCCH.
- Aggiunta dei valori del Registro di sistema WDF ObjectLeakDetectionLimit e ObjectsForLeakDetection per il debug di una creazione eccessiva di oggetti. Per altre informazioni, vedi Valori del Registro di sistema per il debug dei driver WDF.
- Lo strumento software SleepStudy segnala il numero di riferimenti di alimentazione che un driver KMDF ha che impedisce al sistema di andare in sospensione. Per altre info, vedi Modern standby SleepStudy.
KMDF 1.19 (Windows 10, versione 1607)
- Aggiunta di WdfDmaTransactionSetSingleTransferRequirement
- Aggiunta del flag di WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER in WDF_DMA_ENABLER_CONFIG_FLAGS
- Aggiunta STATUS_WDF_TOO_MANY_TRANSFERS valore restituito per WdfDmaTransactionInitialize e WdfDmaTransactionDmaCompleted
- Aggiunta di messaggi di output per l'output di trasferimento singolo a !wdfkd.wdfdmatransaction e !wdfkd.wdfdmaenabler
- Per altre info su DMA a trasferimento singolo, vedi Uso di DMA a trasferimento singolo.
KMDF 1.15 (Windows 10, versione 1507)
- Il nuovo metodo WdfDeviceOpenDevicemapKey consente a un driver di accedere a sottochiavi e valori in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Il codice sorgente WDF è disponibile pubblicamente da Windows Driver Frameworks. I file di simboli privati per WDF sono disponibili tramite il server dei simboli Microsoft. Vedere anche Debug con origine e video WDF: Debug del driver con il codice sorgente WDF.
- Inflight Trace Recorder (IFR) è ora disponibile. Si noti che questo è separato dal logger di eventi del framework. Per altre informazioni, vedi Inflight Trace Recorder (IFR) per la registrazione di tracce e Uso di Registratore traccia in volo in KMDF e driver UMDF.
- Supporto per gli interrupt per i dispositivi basati su GPIO. Per altre informazioni, vedere Creazione di un oggetto Interrupt.
KMDF 1.13 (Windows 8.1)
KmDF versione 1.13 aggiunge le funzionalità seguenti:
- Aggiunta del membro CanWakeDevice alla struttura WDF_INTERRUPT_CONFIG per supportare gli interrupt che possono essere usati per riportare un dispositivo da uno stato Dx a basso consumo al suo stato D0 completamente attivo. Per altre informazioni, vedere Uso di un interrupt per riattivare un dispositivo.
- Supporto per timer ad alta risoluzione. Per altre informazioni, vedere Uso dei timer.
- Supporto per i timer che non riattivano il sistema se scadono quando il sistema si trova in uno stato a basso consumo. Per altre informazioni, vedere Uso dei timer.
- I metodi KMDF/UMDF seguenti descritti in Accesso al modello di proprietà del dispositivo unificato:
Per informazioni sulle versioni di UMDF, vedere Cronologia delle versioni di UMDF.
KMDF 1.11 (Windows 8)
La versione 1.11 aggiunge le funzionalità seguenti:
Supporto per gli interrupt a livello passivo
Stati di alimentazione funzionale per più componenti all'interno di un singolo dispositivo
I seguenti metodi:
- 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
Aggiunta di EvtDeviceUsageNotificationEx.
Aggiunta di membri IdleTimeoutType ed ExcludeD3Cold a WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Aggiunta del membro ReportInactiveOnPowerDown a WDF_INTERRUPT_CONFIG.
Aggiunta del valore WdfIoTargetPurged a WDF_IO_TARGET_STATE.
Aggiunta del valore WdfSpecialFileBoot a WDF_SPECIAL_FILE_TYPE.
Aggiunta di DbgWaitForSignalTimeoutInSec ai valori del Registro di sistema per il debug dei driver basati su Framework.
Sono stati aggiunti esempi InstallWdf, MultiComp e SingleComp .
KMDF 1.9 (Windows 7)
La versione 1.9 aggiunge le funzionalità seguenti:
Avanzamento garantito per le code di I/O
Supporto per la ripetizione delle richieste di I/O da una coda di I/O di un dispositivo figlio alla coda di I/O di un dispositivo padre
Possibilità di specificare la sincronizzazione a livello di coda per singoli oggetti coda.
I seguenti metodi:
Aggiunto il membro NumberOfPresentedRequests alla struttura WDF_IO_QUEUE_CONFIG in modo che i driver possano limitare il numero di richieste di I/O che il framework recapita al driver da una coda di I/O parallela.
Aggiunto il flag WdfFileObjectCanBeOptional alla struttura WDF_FILEOBJECT_CLASS .
Aggiunto il membro TolerableDelay alla struttura WDF_TIMER_CONFIG .
Aggiunta dei valori del Registro di sistema WdfDefaultIdleInWorkingState e WdfDefaultWakeFromSleepState .
KMDF 1.7 (Windows Vista con Service Pack 1; Windows Server 2008)
Il metodo WdfDeviceEnqueueRequest può essere chiamato in IRQL<=DISPATCH_LEVEL.
Il metodo WdfWorkItemEnqueue può essere chiamato se l'elemento di lavoro specificato è già presente nella coda dell'elemento di lavoro.
Aggiunta della funzione di callback dell'evento EvtDeviceArmWakeFromSxWithReason .
Aggiunta dei membri ArmForWakeIfChildrenAreArmedForWake e IndicateChildWakeOnParentWake alla struttura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
Aggiunta del membro DriverPoolTag a WDF_DRIVER_CONFIG.
KMDF 1.1 (non rilasciato in una versione di Windows)
- I metodi seguenti:
KMDF 1.0 (non rilasciato in una versione di Windows)
Versione iniziale.