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 Abschnitt werden User-Mode Driver Framework (UMDF) beschrieben und die Unterschiede zwischen UMDF-Versionen 1 und 2 beschrieben. Außerdem werden allgemeine Architekturinformationen zu UMDF bereitgestellt. Verwenden Sie diesen Abschnitt, um zu ermitteln, ob ein UMDF-Treiber die richtige Wahl für Ihre Anforderungen ist, und um zu entscheiden, welche UMDF-Version verwendet werden soll.
Windows Driver Frameworks (WDF) enthält UMDF, ein Framework für die Erstellung von Benutzermodustreibern. Wie Kernel-Mode Driver Framework (KMDF) bietet UMDF eine Abstraktionsebene von WDM, die Verarbeitung eines Großteils der Plug and Play-Funktionen (PnP) und der Energieverwaltungsfunktion und ermöglicht es dem Treiber, sich für bestimmte Funktionen und die Ereignisbehandlung zu entscheiden.
In Windows 8.1 gibt es zwei Hauptversionen von UMDF, Version 1 und 2. UMDF Version 1.11 (ein Punkt elf) ist die neueste Version von UMDF Version 1 und ist die endgültige Version vor dem Aufkommen von UMDF 2. Eine Tabelle mit Vollversionsinformationen und Betriebssystemrelevanz finden Sie unter UMDF-Versionsverlauf.
Zum Schreiben eines Treibers mit UMDF Version 1 muss das COM-Programmiermodell zum Schreiben von C++-Code verwendet werden. Während UMDF Version 2 auf demselben konzeptionellen Treiberprogrammiermodell wie KMDF basiert, implementiert UMDF 1 das Modell mit verschiedenen Komponenten, Gerätetreiberschnittstellen (Device Driver Interfaces, DDIs) und Datenstrukturen. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10 und Windows 11.
Ab UMDF Version 2 können Sie dagegen einen UMDF-Treiber in der C-Programmiersprache schreiben, der viele der Methoden aufruft, die kmDF-Treibern zur Verfügung stehen. Alle Schnittstellen, die zwischen UMDF Version 2 und KMDF gemeinsam verwendet werden, weisen die gleichen Namen, Parameter und Strukturdefinitionen auf. Wenn Ihr Treiber nur freigegebene Funktionen verwendet oder bedingte Makros für Aufrufe verwendet, die nur in einem Framework unterstützt werden, können Sie einen einzelnen Treiber schreiben, den Sie entweder mit UMDF oder KMDF kompilieren können. Weitere Informationen finden Sie unter Generieren eines UMDF-Treibers aus einem KMDF-Treiber.
Obwohl es eine erhebliche Gemeinsamkeit zwischen UMDF 2 und KMDF gibt, gibt es immer noch eine geringe Anzahl von Funktionen, die nur in einem Framework oder dem anderen verfügbar sind. Einzelheiten finden Sie unter Vergleich der UMDF 2-Funktionalität mit KMDF. Eine Liste aller UMDF 2- und KMDF-Rückrufe und -Methoden sowie die Frameworks, auf die sie angewendet werden, finden Sie in der Zusammenfassung der WDF-Rückrufe und -Methoden. In einigen Fällen gilt ein Strukturelement oder parameter einer Methode nur für ein Framework oder das andere. In der Dokumentation werden diese Unterschiede auf den entsprechenden Referenzseiten beschrieben.