Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
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 In questo articolo barra laterale 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 nel Kit di driver di Windows (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 | Nessuno | Windows 2000 e versioni successive |
| 1.0 | Solo download | Nessuno | 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 aiuto nella determinazione di quale versione di WDF usare, consultare Quale versione del framework dovrei 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 macroWdfDeviceStopIdle dicon 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 il valore restituito è STATUS_PENDING).
- WDF_POWER_FRAMEWORK_SETTINGS struttura ha due nuovi membri (PoFxDeviceFlags e DirectedPoFxEnabled).
KMDF 1.31 (Windows 10, versione 2004)
- Aggiunta nuova API WdfDeviceSetDeviceInterfaceStateEx
- Miglioramento dell'API esistente WdfDeviceGetSystemPowerAction
- Aggiunta nuova API WdfPdoInitRemovePowerDependencyOnParent
- Introduzione al Framework di gestione energetica diretta
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 del file parametro modificato da PCHAR a PCCH.
- Sono stati aggiunti valori del Registro di sistema WDF ObjectLeakDetectionLimit e ObjectsForLeakDetection per il debug di una creazione eccessiva di oggetti. Per altre informazioni, vedere 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 possiede e che impediscono al sistema di andare in modalità sospensione. Per altre info, vedi Modern standby SleepStudy.
KMDF 1.19 (Windows 10, versione 1607)
- Aggiunto WdfDmaTransactionSetSingleTransferRequirement
- Aggiunto il flag WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER in WDF_DMA_ENABLER_CONFIG_FLAGS
- Aggiunto il valore restituito STATUS_WDF_TOO_MANY_TRANSFERS per WdfDmaTransactionInitialize e WdfDmaTransactionDmaCompleted
- Aggiunti messaggi di output per il trasferimento di output 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 il debugging con il codice sorgente WDF e il video : Debug del driver con 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 Inflight Trace Recorder in KMDF e driver UMDF.
- Supporto per le interruzioni 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:
- Aggiunto il membro CanWakeDevice nella struttura WDF_INTERRUPT_CONFIG per supportare gli interrupt che possono essere usati per riportare un dispositivo da uno stato Dx a basso consumo energetico al suo stato completamente operativo D0. Per altre informazioni, vedere Uso di un interrupt per riattivare un dispositivo.
- Supporto per timer ad alta risoluzione. Per ulteriori informazioni, vedere Utilizzo dei timer.
- Supporto per i timer che non svegliano il sistema se scadono quando il sistema si trova in uno stato di basso consumo energetico. Per ulteriori informazioni, vedere Utilizzo 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 le interruzioni a livello passivo
Stati di alimentazione funzionale per più componenti all'interno di un singolo dispositivo
I metodi seguenti:
- 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
È stato aggiunto EvtDeviceUsageNotificationEx.
Aggiunti i 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.
È stato aggiunto il valore WdfSpecialFileBoot a WDF_SPECIAL_FILE_TYPE.
Aggiunto DbgWaitForSignalTimeoutInSec ai Valori del Registro 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 metodi seguenti:
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 .
Aggiunti i 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 la funzione callback dell'evento EvtDeviceArmWakeFromSxWithReason.
Aggiunti i membri ArmForWakeIfChildrenAreArmedForWake e IndicateChildWakeOnParentWake alla struttura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
È stato aggiunto il 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.