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.