Warum gibt es im Windows Driver Kit keine WDM-Kernelmodus-Treibervorlage?
-
21-12-2019 - |
Frage
Ich bin mit sehr wenig Erfahrung auf Kernelmodus-Treiber gestoßen.Folgendes versuche ich zu tun:
- Verfügen Sie über eine Benutzermodusanwendung, die den Treiber lädt.
- Lassen Sie die Benutzermodusanwendung darauf schreiben, um ihr eine Anweisung zu senden.
- Lassen Sie den Treiber die RDMSR-Anweisung an den Intel-Chip senden.
- Geben Sie die Ergebnisse an die Benutzermodusanwendung zurück.
Ich habe gelesen Dieser Artikel Hier werden die verschiedenen Möglichkeiten beschrieben, mit denen Sie dieses Verhalten erreichen können (gepufferte E/A, direkte E/A oder keines von beidem).
Mein Problem ist Folgendes: Der Artikel enthält Code, der die Art und Weise darstellt, wie Sie a strukturieren würden WDM Treiber, und ich hatte erwartet, mit dem Windows Driver Kit eine WDM-KMDF-Projektvorlage erstellen zu können, aber als ich das Windows Driver Kit (WDK) heruntergeladen habe, war die einzige KMDF-Treibervorlage für a WDF Treiber. MSDN hat einen Artikel, der die Unterschiede zwischen den beiden beschreibt.Das kommt mir irgendwie seltsam vor.Ich hatte damit gerechnet, sofort eine Vorlage zu erhalten, die ich so ändern könnte, dass sie wie in dem von mir verlinkten Artikel funktioniert, aber ich sehe sie nicht.Warum gibt es keine Vorlage für einen WDM-KMDF-Treiber?
Nur eine zusätzliche Anmerkung: Sie können den Typ des Fahrers ganz einfach anhand der erkennen Art und Weise, wie das Gerät erstellt wird (IoCreateDevice impliziert WDM, während WdfDeviceCreate WDF impliziert).
Lösung
Es gibt viele Ungereimtheiten in der Frage.Erstens, KMDF
ist eine Teilmenge von WDF
(und es ist das einzig Relevante WDF
Teil, wenn es um Kernel-Treiber geht), es besteht also kein Widerspruch zwischen den beiden.Jeder Kernel-Treiber ist im Wesentlichen ein WDM
Treiber. KMDF
ist ein Rahmenwerk in der WDM
Und KMDF
Fahrer heißen normalerweise, na ja, KMDF
Fahrer, ohne zu erwähnen WDM
. WDM
Treiber bezieht sich normalerweise auf Treiber, die kein zusätzliches Framework verwenden, z KMDF
.Zweite, WDK
lässt sich in VS2012/2013 integrieren und muss zusätzlich zum WDK installiert sein, um die Vorlagen zu erhalten.Dritte, WDM
Die Vorlage erscheint in der Liste.Wenn Sie es nicht haben, empfehle ich eine Neuinstallation WDK
Und VS
.