Beim Erstellen eines Windows-Treiberprojekts in Visual Studio 2012 haben Sie viele verschiedene Optionen zur Auswahl.Was ist der Unterschied zwischen einem WDM-Treiber, einem KMDF-Treiber und einem UMDF-Treiber?
Es gibt eine page on MSDN, die Ihnen bei der Auswahl des richtigen Treibermodells für Ihr Gerät hilft. Es erklärt jedoch nicht genau die genauen Unterschiede zwischen den WDM-, KMDF- und UMDF-Treibertypen und wann das Modell auszuwählen ist.
Ich bin auf der Suche nach einer Erklärung zu den Unterschieden zwischen den WDM, KMDF und UMDF-Treibermodellen, so dass es für beginnende Windows-Treiber-Entwickler leicht ist, das richtige Modell zu wählen.
Danke für die Erklärung, aber eine Sache ist mir noch nicht ganz klar. Sie sagen, dass jeder Kernel-Treiber ein WDM-Treiber ist, aber sind alle WDM-Treiber Kernel-Treiber? Warum sind WDM und KMDF zwei verschiedene Vorlagen in VS2012? – lesderid
@lesderid denke an es in Bezug auf Win32 und MFC (ich hoffe, Sie sind vertraut mit beiden). Während jedes MFC-Programm ein Win32-Programm ist, ist nicht jedes Win32-Programm ein MFC-Programm. Die KMDF ist ähnlich wie MFC: ein Framework, das verwendet werden kann, um einen Teil der Komplexität von WDM zu verbergen.Die Templates unterscheiden sich also dadurch, dass das, was sie erzeugen, anders ist: Das eine erzeugt ein Projekt, das andere generiert ein anderes Projekt. Um Ihre andere Frage zu beantworten, sind alle modernen * Kernel * -Treiber WDM-Treiber; Obwohl es andere "Legacy" -Kerneltreibermodelle gibt, werden sie nicht offiziell unterstützt und sollten nicht mehr verwendet werden. –