Cronologia delle versioni di UMDF
Questo argomento elenca le versioni di User-Mode Driver Framework (UMDF), le versioni corrispondenti del sistema operativo Windows e le modifiche apportate in ogni versione.
La tabella seguente illustra la cronologia delle versioni della libreria UMDF. È possibile usare la barra laterale In questo articolo a destra per passare rapidamente a una versione specifica.
Versione di UMDF | Versione iniziale | Incluso in | I driver che usano questa versione di UMDF vengono eseguiti in |
---|---|---|---|
2,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 |
2.31 | Windows 10, versione 2004 WDK | Windows 10, versione 2004 (aggiornamento di maggio 2020, Vibranium) | Windows 10, versione 2004 e successive |
2.29 | Non rilasciato in WDK | Windows 10, versione 1903 (aggiornamento di marzo 2019, 19H1) | Windows 10, versione 1903 e successive |
2.27 | Windows 10, versione 1809 WDK | Windows 10, versione 1809 (aggiornamento di ottobre 2018, Redstone 5) | Windows 10, versione 1809 e successive |
2.25 | Windows 10, versione 1803 WDK | Windows 10, versione 1803 (aggiornamento di aprile 2018, Redstone 4) | Windows 10 versione 1803 e successive. |
2,23 | Windows 10, versione 1709 WDK | Windows 10, versione 1709 (Fall Creators Update, Redstone 3) | Windows 10, versione 1709 e successive |
2.21 | Windows 10, versione 1703 WDK | Windows 10, versione 1703 (Creators Update, Redstone 2) | Windows 10, versione 1703 e successive |
2.19 | Windows 10, versione 1607 WDK | Windows 10, versione 1607 (Aggiornamento dell'anniversario, Redstone 1) | Windows 10, versione 1607, Windows Server 2016 e versioni successive |
2.17 | Windows 10, versione 1511 WDK | Windows 10, versione 1511 (aggiornamento di novembre, soglia 2) | Windows 10, versione 1511, Windows Server 2016 e versioni successive |
2.15 | Windows 10 WDK | Windows 10, versione 1507 (Soglia 1) | Windows 10, versione 1507, Windows Server 2016 e versioni successive |
2.0 | Windows Driver Kit (WDK) 8.1 | Windows 8.1 | Windows 8.1 e versioni successive |
1.11 | Windows Driver Kit (WDK) 8 | 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 XP e versioni successive |
1,5 | Windows Vista WDK | Windows Vista | 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 informazioni sulle nuove funzionalità per i driver UMDF in Windows 10, vedere Novità per i driver WDF.
Per ogni versione di UMDF riportata di seguito, la versione di Windows in cui è stata rilasciata è elencata tra parentesi.
Versione più recente - UMDF 2.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).
- La funzione WdfDeviceWdmAssignPowerFrameworkSettings supporta ora UMDF.
- WDF_POWER_FRAMEWORK_SETTINGS struttura ha due nuovi membri (PoFxDeviceFlags e DirectedPoFxEnabled) e ora possono essere usati con UMDF. Per UMDF vengono usati solo i membri Size, PoFxDeviceFlags e DirectedPoFxEnabled . Gli altri campi vengono ignorati e devono essere impostati su zero. Il framework esegue questa operazione automaticamente quando un driver UMDF chiama la funzione WDF_POWER_FRAMEWORK_SETTINGS_INIT.
UMDF 2.31 (Windows 10, versione 2004)
- Aggiunta della nuova API WdfDeviceSetDeviceInterfaceStateEx
- Miglioramento dell'API esistente WdfDeviceGetSystemPowerAction
- Aggiunta del valore del Registro di sistema HostProcessDbgBreakOnDriverLoad per driver. Per informazioni, vedi Valori del Registro di sistema per il debug dei driver WDF.
- Introduzione a Directed Power Management Framework
UMDF 2.29 (Windows 10, versione 1903)
Non modificato dalla versione 2.27.
UMDF 2.27 (Windows 10, versione 1809)
- Aggiunta della nuova API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10, versione 1803)
UMDF 2.23 (Windows 10, versione 1709)
- Funzionalità complementare aggiunta solo per uso interno. Per le nuove DDI, vedere Riepilogo dei callback e dei metodi di WDF.
UMDF 2.21 (Windows 10, versione 1703)
- 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.
UMDF 2.19 (Windows 10, versione 1607)
Non sono state apportate modifiche o aggiunte per UMDF versione 2.19.
UMDF 2.17 (Windows 10, versione 1511)
Questa versione aggiunge il supporto UMDF per le interfacce esistenti seguenti:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Per altre informazioni, vedere Invio di irP alle code di I/O.
UMDF 2.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.
- Un driver UMDF può chiamare WdfIoTargetWdmGetTargetFileHandle per ottenere un handle di file al driver in modalità kernel inferiore successivo nello stack. Il driver può scrivere dati in tale handle, ignorando le astrazioni del framework per l'invio di I/O alla destinazione di I/O locale.
- Un driver UMDF può richiedere che il driver del bus sottostante lo enumera nuovamente. Vedere WdfDeviceSetFailed.
- L'impostazione della direttiva UmdfDirectHardwareAccess non è più necessaria per i dispositivi con risorse di connessione. Vedere Specifica delle direttive WDF nei file INF.
- 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.
UMDF 2.0 (Windows 8.1)
Oltre alle funzionalità condivise descritte in Introduzione a UMDF, UMDF versione 2.0 aggiunge:
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.
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.
Risparmio energia a singolo componente e a stato singolo (F0) per i driver UMDF. Per altre informazioni, vedere WdfDeviceAssignS0IdleSettings.
Diversi comandi di estensione del debugger in Wdfkd.dll ora possono essere usati anche per i driver UMDF 2.0. La libreria di estensioni contiene anche i nuovi comandi di estensione seguenti progettati appositamente per il debug dei driver UMDF 2.0:
-
Per un elenco dei comandi di estensione e dell'applicabilità del framework, vedere Estensioni del debugger.
Il logger di eventi del framework o IfR (In-Flight Recorder ) è stato aggiornato per funzionare per i driver UMDF 2.0.
Altre estensioni del debugger WDF sono state aggiornate per funzionare con i driver UMDF 2.0. Per un elenco completo dei comandi di estensione, incluse le informazioni relative a quali framework si applicano, vedere Estensioni del debugger per i driver WDF.
Aggiunta di WdfIoTargetOpenLocalTargetByFile a WDF_IO_TARGET_OPEN_TYPE per consentire ai driver UMDF di inviare richieste create dal driver a destinazioni inferiori che richiedono un oggetto file associato. Per altre informazioni, vedere la sezione Osservazioni di WDF_IO_TARGET_OPEN_TYPE.
Le routine di sola UMDF seguenti:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (aggiunto a KMDF 1.21)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (aggiunto a KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
I metodi KMDF/UMDF seguenti descritti in Accesso al modello di proprietà del dispositivo unificato:
-
Per altre informazioni, vedere Accesso al modello di proprietà dispositivo unificato.
Supporto per i tipi di configurazione USB seguenti in WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Supporto per l'esecuzione di query sui tipi di funzionalità seguenti in WdfUsbTargetDeviceQueryUsbCapability:
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
Aggiunta di funzioni di registrazione/accesso alle porte di WDF
UMDF 1.11 (Windows 8)
La versione 1.11 aggiunge le interfacce di callback fornite dal driver e le funzioni di callback degli eventi seguenti:
La versione 1.11 aggiunge le interfacce fornite dal framework seguenti:
La versione 1.11 aggiunge le funzionalità seguenti ai driver basati su UMDF:
Aggiunta delle direttive UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy e UmdfFsContextUsePolicy , descritte in Specifica delle direttive WDF nei file INF
Supporto dell'archivio proprietà unificato, descritto in Uso del Registro di sistema nei driver basati su UMDF
IoGetDeviceObjectPointer è integrato per l'uso con UMDF. Nelle versioni precedenti, questa routine chiude l'handle all'oggetto dispositivo dopo aver preso un riferimento sull'handle del dispositivo. Questo comportamento non è compatibile con le aspettative di UMDF che la richiesta di pulizia nell'oggetto dispositivo non si verificherà fino al completamento di tutte le operazioni di I/O.
Supporto migliorato per supportare il risparmio di energia inattivo nei driver basati su UMDF. Il framework può ora inserire il dispositivo nello stato di alimentazione D3cold alla scadenza del periodo di timeout di inattività. Il framework può anche fare in modo che il dispositivo torni allo stato di lavoro (D0) quando il sistema torna allo stato di lavoro (S0).
Gli esempi seguenti sono nuovi in UMDF 1.11: WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
La versione 1.9 aggiunge le interfacce di callback fornite dal driver seguenti:
La versione 1.9 aggiunge le interfacce fornite dal framework seguenti:
Queste interfacce aggiungono le funzionalità seguenti ai driver basati su UMDF:
Supporto avanzato per le interfacce dei dispositivi
Possibilità avanzata di annullare le richieste di I/O
Accesso avanzato al Registro di sistema