Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema werden Versionen von User-Mode Driver Framework (UMDF), die entsprechenden Versionen des Windows-Betriebssystems und die änderungen aufgeführt, die in den einzelnen Versionen vorgenommen wurden.
Die folgende Tabelle zeigt den Versionsverlauf der UMDF-Bibliothek. Sie können die Seitenleiste "In diesem Artikel" auf der rechten Seite verwenden, um schnell zu einer bestimmten Version zu navigieren.
| UMDF-Version | Erste Veröffentlichung | Enthalten in | Treiber, die diese UMDF-Version verwenden, laufen auf |
|---|---|---|---|
| 2.33 | Windows 11, version 21H2 WDK; WDK für 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 und höher; Windows Server 2022 und höher |
| 2.31 | Windows 10, version 2004 WDK | Windows 10, Version 2004 (Update vom Mai 2020, Vibranium) | Windows 10, Version 2004 und höher |
| 2.29 | Nicht veröffentlicht in WDK | Windows 10, Version 1903 (Update vom März 2019, 19H1) | Windows 10, Version 1903 und höher |
| 2.27 | Windows 10, version 1809 WDK | Windows 10, Version 1809 (Update vom Oktober 2018, Redstone 5) | Windows 10, Version 1809 und höher |
| 2,25 | Windows 10, version 1803 WDK | Windows 10, Version 1803 (April 2018 Update, Redstone 4) | Windows 10, Version 1803 und höher |
| 2.23 | Windows 10, version 1709 WDK | Windows 10, Version 1709 (Fall Creators Update, Redstone 3) | Windows 10, Version 1709 und höher |
| 2.21 | Windows 10, version 1703 WDK | Windows 10, Version 1703 (Creators Update, Redstone 2) | Windows 10, Version 1703 und höher |
| 2.19 | Windows 10, version 1607 WDK | Windows 10, Version 1607 (Anniversary Update, Redstone 1) | Windows 10, Version 1607, Windows Server 2016 und höher |
| 2.17 | Windows 10, version 1511 WDK | Windows 10, Version 1511 (November Update, Schwellenwert 2) | Windows 10, Version 1511, Windows Server 2016 und höher |
| 2.15 | Windows 10 WDK | Windows 10, Version 1507 (Schwellenwert 1) | Windows 10, Version 1507, Windows Server 2016 und höher |
| 2.0 | Windows Driver Kit (WDK) 8.1 | Windows 8.1 | Windows 8.1 und höher |
| 1.11 | Windows Driver Kit (WDK) 8 | Windows 8 | Windows Vista und höher |
| 1.9 | Windows 7 WDK | Windows 7 | Windows XP und höher |
| 1.7 | Windows Server 2008 WDK | Windows Vista mit Service Pack 1 (SP1), Windows Server 2008 | Windows XP und höher |
| 1.5 | Windows Vista WDK | Windows Vista | Windows XP und höher |
Sie können das Windows Driver Kit (WDK) mit Microsoft Visual Studio 2022 verwenden, um Treiber zu erstellen, die unter Windows 10 und höher ausgeführt werden.
Hilfe zum Ermitteln der zu verwendenden WDF-Version finden Sie unter Welche Frameworkversion sollte ich verwenden?.
Informationen zu den neuen Features für UMDF-Treiber in Windows 10 finden Sie unter What's New for WDF Drivers.
Für jeden ABSCHNITT der UMDF-Version unten wird die Windows-Version, in der sie veröffentlicht wurde, in Klammern aufgeführt.
Neueste Version – UMDF 2.33 (Windows 11, Version 21H2; Windows Server 2022)
- Für Geräte, die SystemManagedIdleTimeout oder SystemManagedIdleTimeoutWithHint in der WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE-Aufzählung angeben, wenn das WdfDeviceStopIdle-Makro mit WaitForD0 auf FALSE gesetzt ist, falls das Gerät noch in D0 ist und der Leerlauftimeoutzeitraum noch nicht abgelaufen ist, gibt das Makro WdfDeviceStopIdle STATUS_SUCCESS zurück (in früheren Versionen führte dies zu einem Rückgabewert von STATUS_PENDING).
- WdfDeviceWdmAssignPowerFrameworkSettings-Funktion unterstützt jetzt UMDF.
- Die WDF_POWER_FRAMEWORK_SETTINGS Struktur hat zwei neue Member (PoFxDeviceFlags und DirectedPoFxEnabled) und kann jetzt mit UMDF verwendet werden. Für UMDF werden nur die Mitglieder Size, PoFxDeviceFlags und DirectedPoFxEnabled verwendet. Andere Felder werden ignoriert und müssen auf Null festgelegt werden. Das Framework führt dies automatisch aus, wenn ein UMDF-Treiber die WDF_POWER_FRAMEWORK_SETTINGS_INIT-Funktion aufruft.
UMDF 2.31 (Windows 10, Version 2004)
- Neue API WdfDeviceSetDeviceInterfaceStateEx hinzugefügt
- Verbesserte vorhandene API WdfDeviceGetSystemPowerAction
- HostProcessDbgBreakOnDriverLoad-Registrierungswert pro Treiber hinzugefügt. Weitere Informationen finden Sie unter Registrierungswerte für das Debuggen von WDF-Treibern.
- Einführung in das Framework zur gesteuerten Energieverwaltung
UMDF 2.29 (Windows 10, Version 1903)
Unverändert von Version 2.27.
UMDF 2.27 (Windows 10, Version 1809)
UMDF 2.25 (Windows 10, Version 1803)
- WdfDeviceRetrieveDeviceDirectoryString
- Erstellen eines WDF-Treibers für mehrere Versionen von Windows.
UMDF 2.23 (Windows 10, Version 1709)
- Begleitfunktionen, die nur für die interne Verwendung hinzugefügt wurden. Informationen zu den neuen DDIs finden Sie in der Zusammenfassung von WDF-Rückrufen und -Methoden.
UMDF 2.21 (Windows 10, Version 1703)
- WdfObjectDereferenceActual: Der Dateiparametertyp wurde von PCHAR zu PCCH geändert.
- WdfObjectReferenceActual: Der Typ des Dateiparameters wurde von PCHAR in PCCH geändert.
- WDF-Registrierungswerte ObjectLeakDetectionLimit und ObjectsForLeakDetection zum Debuggen übermäßiger Objekterstellung hinzugefügt. Weitere Informationen finden Sie unter Registrierungswerte für das Debuggen von WDF-Treibern.
UMDF 2.19 (Windows 10, Version 1607)
Es gibt keine Änderungen oder Ergänzungen für UMDF Version 2.19.
UMDF 2.17 (Windows 10, Version 1511)
Diese Version fügt UMDF-Unterstützung für die folgenden vorhandenen Schnittstellen hinzu:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Weitere Informationen finden Sie unter Verteilen von IRPs an E/A-Warteschlangen.
UMDF 2.15 (Windows 10, Version 1507)
- Mit der neuen WdfDeviceOpenDevicemapKey-Methode kann ein Treiber auf Unterschlüssel und Werte unter HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAPzugreifen.
- Ein UMDF-Treiber kann WdfIoTargetWdmGetTargetFileHandle aufrufen, um ein Dateihandle für den nächsten niedrigeren Kernelmodustreiber im Stapel abzurufen. Der Treiber kann Daten in dieses Handle schreiben und dadurch die Abstraktionen des Frameworks umgehen, die für das Senden von E/A an das lokale E/A-Ziel genutzt werden.
- Ein UMDF-Treiber kann veranlassen, dass der zugrunde liegende Bustreiber ihn neu enumeriert. Siehe WdfDeviceSetFailed.
- Das Festlegen der UmdfDirectHardwareAccess-Direktive ist nicht mehr immer für Geräte mit Verbindungsressourcen erforderlich. Siehe WDF-Direktiven in INF-Dateien angeben.
- WDF-Quellcode ist öffentlich über Windows Driver Frameworks verfügbar. Die privaten Symboldateien für WDF sind über den Microsoft Symbol Server verfügbar. Siehe auch Debuggen mit WDF-Quelle und -Video: Debuggen des Treibers mit WDF-Quellcode.
- Inflight Trace Recorder (IFR) ist jetzt verfügbar. Beachten Sie, dass dies vom Ereignisprotokollierer des Frameworks getrennt ist. Weitere Informationen finden Sie unter Inflight Trace Recorder (IFR) zur Aufzeichnung von Traces und Verwendung des Inflight Trace Recorders in KMDF- und UMDF-Treibern.
- Unterstützung für Unterbrechungen für GPIO-gestützte Geräte. Weitere Informationen finden Sie unter Erstellen eines Interrupt-Objekts.
UMDF 2.0 (Windows 8.1)
Zusätzlich zu den freigegebenen Funktionen, die in "Erste Schritte mit UMDF" beschrieben werden, fügt UMDF Version 2.0 Folgendes hinzu:
Unterstützung für Timer, die das System nicht reaktivieren, wenn sie ablaufen, falls sich das System in einem schwachen Stromzustand befindet. Weitere Informationen finden Sie unter Verwenden von Timern.
Der CanWakeDevice-Member wurde zur WDF_INTERRUPT_CONFIG-Struktur hinzugefügt, um Interrupts zu unterstützen, die verwendet werden können, um ein Gerät aus einem energiearmen Dx-Zustand zurück in seinen vollständig eingeschalteten D0-Zustand zu versetzen. Weitere Informationen finden Sie unter Using an Interrupt to Wake a Device.
Single-Component, Single-State (F0)-Energieverwaltung für UMDF-Treiber. Weitere Informationen finden Sie unter WdfDeviceAssignS0IdleSettings.
Mehrere Debuggererweiterungsbefehle in Wdfkd.dll können jetzt auch für UMDF 2.0-Treiber verwendet werden. Die Erweiterungsbibliothek enthält auch die folgenden neuen Erweiterungsbefehle, die speziell für das Debuggen von UMDF 2.0-Treibern entwickelt wurden:
-
Eine Liste der Erweiterungsbefehle und Framework-Anwendbarkeit finden Sie unter Debuggererweiterungen.
Der Ereignisprotokollierer des Frameworks oder der In-Flight Recorder (IFR) wurde aktualisiert, um für UMDF 2.0-Treiber zu arbeiten.
Andere WDF-Debuggererweiterungen wurden aktualisiert, um mit UMDF 2.0-Treibern zu arbeiten. Eine vollständige Liste der Erweiterungsbefehle, einschließlich Informationen dazu, welche für welches Framework gelten, finden Sie unter Debuggererweiterungen für WDF-Treiber.
WdfIoTargetOpenLocalTargetByFile wurde zu WDF_IO_TARGET_OPEN_TYPE hinzugefügt, um UMDF-Treibern das Senden von vom Treiber erstellten Anforderungen an niedrigere Ziele zu ermöglichen, die ein zugeordnetes Dateiobjekt erfordern. Weitere Informationen finden Sie in den Anmerkungen zu WDF_IO_TARGET_OPEN_TYPE.
Die folgenden NUR UMDF-Routinen:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace-
- WdfDevicePostEvent-
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace-
- WdfFileObjectGetInitiatorProcessId (zu KMDF 1.21 hinzugefügt)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (zu KMDF 1.21 hinzugefügt)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
Die folgenden KMDF/UMDF-Methoden, die unter "Zugriff auf das Unified Device Property Model" beschrieben werden:
Unterstützung für die folgenden USB-Konfigurationstypen in WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Unterstützung für die Abfrage der folgenden Funktionstypen in WdfUsbTargetDeviceQueryUsbCapability:
- GUID_USB_FÄHIGKEIT_GERÄTEVERBINDUNG_HOHE_GESCHWINDIGKEIT_KOMPATIBEL
- GUID_USB_FUNKTIONSFÄHIGKEIT_GERÄTEVERBINDUNG_SUPER_SPEED_KOMPATIBEL
WDF Register/Port Access-Funktionen hinzugefügt
UMDF 1.11 (Windows 8)
Version 1.11 fügt die folgenden vom Treiber bereitgestellten Rückrufschnittstellen und Ereignisrückruffunktionen hinzu:
Version 1.11 fügt die folgenden vom Framework bereitgestellten Schnittstellen hinzu:
Version 1.11 fügt die folgenden Funktionen zu UMDF-basierten Treibern hinzu:
UmdfHostProcessSharing-, UmdfDirectHardwareAccess-, UmdfRegisterAccessMode-, UmdfFileObjectPolicy- und UmdfFsContextUsePolicy-Direktiven hinzugefügt, die in der Angabe von WDF-Direktiven in INF-Dateien beschrieben werden
Unterstützung des einheitlichen Eigenschaftenspeichers, beschrieben unter Verwendung der Registrierung in UMDF-basierten Treibern
IoGetDeviceObjectPointer ist integriert, um mit UMDF zu arbeiten. In früheren Versionen schließt diese Routine den Handle auf das Geräteobjekt, nachdem ein Verweis auf das Handle des Geräts verwendet wurde. Dieses Verhalten war nicht mit der Erwartung von UMDF kompatibel, dass die Bereinigungsanforderung für das Geräteobjekt erst auftritt, nachdem alle E/A abgeschlossen sind.
Erweiterte Unterstützung für die Unterstützung von Leerlauf-Power-Down in UMDF-basierten Treibern. Das Framework kann das Gerät jetzt in den D3cold-Energiezustand versetzen, wenn der Leerlauftimeout abläuft. Das Framework kann auch dazu führen, dass das Gerät zum Arbeitszustand (D0) zurückkehrt, wenn das System zum Arbeitszustand (S0) zurückkehrt.
Die folgenden Beispiele sind neu in UMDF 1.11: WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
Version 1.9 fügt die folgenden vom Treiber bereitgestellten Rückrufschnittstellen hinzu:
Version 1.9 fügt die folgenden vom Framework bereitgestellten Schnittstellen hinzu:
Diese Schnittstellen fügen die folgenden Funktionen zu UMDF-basierten Treibern hinzu:
Die direkte Ein-/Ausgabe-Pufferzugriffsmethode
Kontinuierliche Leser für USB-Geräte
Erweiterte Unterstützung für Geräteschnittstellen
Verbesserte Möglichkeit zum Abbrechen von E/A-Anforderungen
Erweiterter Zugriff auf die Registry