UMDF basierend auf COM-Teilmenge
Warnung
UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden.
Die archivierten UMDF 1-Beispiele finden Sie im Treiberbeispielupdate Windows 11, Version 22H2 – Mai 2022.
Weitere Informationen finden Sie unter Erste Schritte mit UMDF.
Die Frameworkobjekte und Schnittstellen basieren aus den folgenden Gründen auf dem Component Object Model (COM):
COM ist vielen Anwendungsprogrammierern vertraut.
C++ ist die bevorzugte Sprache für die Programmierung von COM-Anwendungen.
COM-Schnittstellen ermöglichen logische Gruppierungen von Funktionen, sodass die Gerätetreiberschnittstelle (Device Driver Interface, DDI) leicht zu verstehen und zu navigieren ist.
Mithilfe von COM kann der DDI erweitert und weiterentwickelt werden, ohne dass vorhandene Treiber-DLLs neu kompiliert werden müssen.
Zahlreiche Tools, einschließlich Microsoft Visual Studio und der aktiven Vorlagenbibliothek (ACTIVE Template Library, ATL), unterstützen COM-basierte Anwendungen und Objekte.
Das Framework verwendet nur eine kleine Teilmenge von COM; es ist nicht von der gesamten COM-Infrastruktur und Laufzeitbibliothek abhängig. Stattdessen verwendet das Framework nur die Features query-interface und reference-counting. Jede Frameworkschnittstelle wird von IUnknown abgeleitet und unterstützt daher standardmäßig die Methoden QueryInterface, AddRef und Release . Die AddRef- und Release-Methoden verwalten die Objektlebensdauer. Mit der QueryInterface-Methode können andere Komponenten bestimmen, welche Schnittstellen der Treiber unterstützt.