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.
Nella tabella seguente viene illustrata 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 | Driver che usano questa versione di UMDF in esecuzione |
---|---|---|---|
2.33 | Windows 11 versione 21H2 WDK; WDK per Windows Server 2022 | Windows 11, versione 23H2; Windows 11 versione 22H2; Windows 11, versione 21H2; Windows Server 2022 | Windows 11, versione 21H2 e versioni successive; Windows Server 2022 e versioni successive |
2.31 | Windows 10 versione 2004 WDK | Windows 10, versione 2004 (aggiornamento maggio 2020, Vibranium) | Windows 10, versione 2004 e versioni successive |
2.29 | Non rilasciato in WDK | Windows 10 versione 1903 (aggiornamento 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 versioni 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 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 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 |
È possibile usare Windows Driver Kit (WDK) con Microsoft Visual Studio 2019 per compilare i driver eseguiti in Windows 10 e versioni successive.
Per informazioni sulla versione di WDF da usare, vedere Quale versione del framework deve essere usata?.
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 impostata su FALSE, se il dispositivo è ancora in D0 e il periodo di timeout inattivo non è ancora trascorso, WdfDeviceStopIdle restituisce STATUS_SUCCESS (nelle versioni precedenti questo ha generato 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 . 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 di una nuova API WdfDeviceSetDeviceInterfaceStateEx
- Miglioramento dell'API WdfDeviceGetSystemPowerAction esistente
- Aggiunta del valore del Registro di sistema HostProcessDbgBreakOnDriverLoad per driver. Per informazioni, vedere Valori del Registro di sistema per il debug dei driver WDF.
- Introduzione al framework di Gestione energia diretta
UMDF 2.29 (Windows 10, versione 1903)
Invariato dalla versione 2.27.
UMDF 2.27 (Windows 10, versione 1809)
- Aggiunta di una nuova API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10, versione 1803)
UMDF 2.23 (Windows 10, versione 1709)
- Funzionalità complementare aggiunta solo per l'uso interno. Per le nuove DDI, vedere Riepilogo dei callback e dei metodi 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 della creazione di oggetti eccessiva. Per altre informazioni, vedere Valori del Registro di sistema per il debug dei driver WDF.
UMDF 2.19 (Windows 10, versione 1607)
Non sono presenti 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 alle sottochiave e ai 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 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 simboli Microsoft. Vedere anche Debug con origine WDF e video: 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, vedere Inflight Trace Recorder (IFR) per la registrazione delle tracce e l'uso di Inflight Trace Recorder in KMDF e driver UMDF.
- Supporto per gli interruzioni per i dispositivi con supporto GPIO. Per altre informazioni, vedere Creazione di un oggetto Interrupt.
UMDF 2.0 (Windows 8.1)
Oltre alla funzionalità condivisa descritta in Introduzione con 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 di bassa potenza. Per altre informazioni, vedere Uso di timer.
Aggiunto il membro CanWakeDevice alla struttura WDF_INTERRUPT_CONFIG per supportare gli interruzioni che possono essere usati per riportare un dispositivo da uno stato Dx a bassa potenza allo stato D0 completo. Per altre informazioni, vedere Uso di un interruzione per riattivare un dispositivo.
Gestione della potenza a singolo componente (F0) per i driver UMDF. Per altre informazioni, vedere WdfDeviceAssignS0IdleSettings.
È ora possibile usare diversi comandi di estensione del debugger in Wdfkd.dll per i driver UMDF 2.0. La libreria di estensioni contiene anche i nuovi comandi di estensione seguenti progettati in modo specifico per il debug dei driver UMDF 2.0:
-
Per un elenco di comandi di estensione e applicabilità del framework, vedere Estensioni debugger.
Il logger evento del framework o In-flight Recorder (IFR) è stato aggiornato per il funzionamento per i driver UMDF 2.0.
Altre estensioni del debugger WDF sono state aggiornate per usare i driver UMDF 2.0. Per un elenco completo di comandi di estensione, incluse informazioni su quali sono applicabili al framework, vedere Estensioni 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 Le osservazioni di WDF_IO_TARGET_OPEN_TYPE.
Routine solo 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à dispositivo unificato:
Supporto per i tipi di configurazione USB seguenti in WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Supporto per eseguire 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 alla porta WDF
UMDF 1.11 (Windows 8)
La versione 1.11 aggiunge le seguenti interfacce di callback fornite dal driver e funzioni di callback eventi:
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 di UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy e UmdfFsContextUsePolicy , descritto in Specifica delle direttive WDF nei file INF
Supporto dell'archivio proprietà unificata, descritto in Uso del Registro di sistema nei driver basati su UMDF
IoGetDeviceObjectPointer è integrato per lavorare 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 verrà eseguita fino al completamento di tutte le operazioni di I/O.
Supporto avanzato per supportare l'idle Power-Down nei driver basati su UMDF. Il framework può ora inserire il dispositivo nello stato di alimentazione D3cold quando scade il periodo di timeout inattiva. Il framework può anche causare la restituzione del dispositivo al relativo 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:
Metodo di accesso diretto al buffer di I/O
Lettori continui per dispositivi USB
Supporto avanzato per le interfacce del dispositivo
Possibilità avanzata di annullare le richieste di I/O
Accesso avanzato al Registro di sistema
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per