Schreiben von WDM-Treibern

In diesem Abschnitt wird die WDM-Architektur (Microsoft Windows Driver Model) erläutert. Diese Architektur begann in Windows 2000 als Erweiterung zu früheren Windows NT-Gerätetreibern.

Hinweis Treiber für Versionen von Windows NT-basierten Betriebssystemen vor Windows 2000 werden nicht unterstützt, und Sie sollten diese Treiber aktualisieren. Die WDM-Architektur unterstützt keine Treiber für Nicht-Windows NT-basierte Betriebssysteme (z. B. Windows 98), und Sie sollten diese Treiber erneut schreiben.

Dieser Abschnitt ist in drei Teile unterteilt:

  • Windows-Treibermodell beschreibt das Windows-Treibermodell (WDM), einschließlich typen von WDM-Treibern, Gerätekonfiguration und WDM-Versionsverwaltung.

  • Geräteobjekte und Gerätestapel beschreiben Geräteobjekte und Gerätestapel. Der Abschnitt enthält Informationen zu physischen Geräteobjekten (PDOs), funktionalen Geräteobjekten (FDOs) und Filtern von Geräteobjekten (Filter-DOs). Treiber werden häufig aus einer Reihe von Geräteobjekten erstellt, die zusammenarbeiten. Dieser Satz von Geräteobjekten wird als Stapel bezeichnet. Stacks können Ihnen helfen, den Informationsfluss zu und von einem Treiber zu verstehen und wie verschiedene Teile des Treibers intern kommunizieren.

  • Kernelmodustreiberkomponenten beschreibt, welche Routinen Sie implementieren müssen, um über einen Funktionstreiber zu verfügen, und welche Routinen optional sind.

    Ein Gerätetreiber ist ein Satz von Softwarecode, der in das Betriebssystem integriert werden muss. Um diese Integration abzuschließen, müssen Sie eine Reihe von Handlerroutinen in Ihren Treiber schreiben, die Aufrufe vom Betriebssystem verarbeiten. Diese Routinen können einfache Funktionsaufrufe sein, aber viele von ihnen implementieren die Verarbeitung von E/A-Anforderungspaketen (IRPs), die die Kommunikation zwischen Treibern und dem Betriebssystem erleichtern.

Hinweis WDM-Treiber können auch die WDF-Bibliothek (Windows Driver Frameworks) verwenden, um das Schreiben einiger Teile eines Gerätetreibers zu vereinfachen. Insbesondere Kernelmodustreiber können das Kernel-Mode Driver Framework (KMDF) verwenden, das Teil von WDF ist. Weitere Informationen zu KMDF für Kernelmodustreiber finden Sie unter Übersicht über das Kernelmodus-Treiberframework. Beachten Sie, dass KMDF WDM nicht ersetzt. Sie müssen noch viele Teile von WDM verstehen, um einen KMDF-Treiber zu schreiben.