Auswählen eines Treibermodells

Microsoft Windows bietet eine Vielzahl von Treibermodellen, mit denen Sie Treiber schreiben können. Die Strategie für die Auswahl des besten Treibermodells hängt von der Art des Treibers ab, den Sie schreiben möchten. Hier sind die Optionen:

  • Gerätefunktionstreiber
  • Gerätefiltertreiber
  • Softwaretreiber
  • Dateisystemfiltertreiber
  • Dateisystemtreiber

Eine Diskussion über die Unterschiede zwischen den verschiedenen Treibertypen finden Sie unter Was ist ein Treiber? und Geräteknoten und Gerätestapel. In den folgenden Abschnitten wird erläutert, wie Sie ein Modell für jeden Treibertyp auswählen.

Auswählen eines Treibermodells für einen Gerätefunktionstreiber

Beim Entwerfen eines Hardwaregeräts sollten Sie zunächst berücksichtigen, ob Sie einen Funktionstreiber schreiben müssen. Untersuchen Sie die folgenden Fragen:

Können Sie das Schreiben eines Treibers vollständig vermeiden? Wenn Sie einen Funktionstreiber schreiben müssen, welches ist das beste Treibermodell für die Verwendung? Um diese Fragen zu beantworten, bestimmen Sie, wo Ihr Gerät in die Liste der Technologien passt, die unter Geräte- und Treibertechnologien beschrieben sind. In der Dokumentation für diese bestimmte Technologie erfahren Sie, ob Sie einen Funktionstreiber schreiben müssen, und erfahren Sie, welche Treibermodelle für Ihr Gerät verfügbar sind.

Einige der einzelnen Technologien verfügen über Minidriver-Modelle. In einem Minidriver-Modell besteht der Gerätetreiber aus zwei Teilen: einem, der allgemeine Aufgaben verarbeitet, und einem, der gerätespezifische Aufgaben verarbeitet. In der Regel schreibt Microsoft den allgemeinen Teil, und der Gerätehersteller schreibt den gerätespezifischen Teil. Die gerätespezifischen Teile haben eine Vielzahl von Namen, von denen die meisten das Präfix mini verwenden. Hier sind einige der Namen, die in Minidriver-Modellen verwendet werden:

  • Miniporttreiber anzeigen
  • Audio-Miniporttreiber
  • Akku-Miniklassentreiber
  • Bluetooth-Protokolltreiber
  • HID-Minidriver
  • WIA-Minidriver
  • NDIS-Miniporttreiber
  • Speicherminiporttreiber
  • Streaming-Minidriver

Eine Übersicht über Minidriver-Modelle finden Sie unter Minidriver und Treiberpaare.

Nicht jede in Geräte- und Treibertechnologien aufgeführte Technologie verfügt über ein dediziertes Minidriver-Modell. In der Dokumentation für eine bestimmte Technologie wird möglicherweise empfohlen, das Kernelmodus-Treiberframework (KMDF) zu verwenden. In der Dokumentation für eine andere Technologie wird möglicherweise empfohlen, das User-Mode Driver Framework (UMDF) zu verwenden. Der wichtigste Punkt ist, dass Sie zunächst die Dokumentation für Ihre spezifische Gerätetechnologie studieren sollten. Wenn Ihre Gerätetechnologie über ein Minidriver-Modell verfügt, müssen Sie das Minidriver-Modell verwenden. Befolgen Sie andernfalls die Hinweise in der technologiespezifischen Dokumentation zur Verwendung von UMDF, KMDF oder windows Driver Model (WDM).

Auswählen eines Treibermodells für einen Gerätefiltertreiber

Häufig nehmen mehrere Treiber an einer einzelnen E/A-Anforderung teil (z. B. Das Lesen von Daten von einem Gerät). Die Treiber sind in einem Stapel geschichtet, und die herkömmliche Möglichkeit, den Stapel zu visualisieren, besteht darin, dass der erste Treiber oben und der letzte Treiber unten ist. Der Stapel verfügt über einen Funktionstreiber und kann auch Filtertreiber enthalten. Eine Diskussion über Funktionstreiber und Filtertreiber finden Sie unter Was ist ein Treiber? und Geräteknoten und Gerätestapel.

Wenn Sie sich auf das Schreiben eines Filtertreibers für ein Gerät vorbereiten, bestimmen Sie, wo Ihr Gerät in die Liste der Technologien passt, die unter Geräte- und Treibertechnologien beschrieben sind. Überprüfen Sie, ob die Dokumentation für Ihre jeweilige Gerätetechnologie Anleitungen zur Auswahl eines Filtertreibermodells enthält. Wenn die Dokumentation für Ihre Gerätetechnologie diese Anleitung nicht enthält, sollten Sie zunächst die Verwendung von UMDF als Treibermodell in Erwägung ziehen. Wenn Ihr Filtertreiber Zugriff auf Datenstrukturen benötigt, die nicht über UMDF verfügbar sind, sollten Sie KMDF als Treibermodell verwenden. In dem äußerst seltenen Fall, dass Ihr Treiber Zugriff auf Datenstrukturen benötigt, die nicht über KMDF verfügbar sind, verwenden Sie WDM als Treibermodell.

Auswählen eines Treibermodells für einen Softwaretreiber

Ein Treiber, der nicht einem Gerät zugeordnet ist, wird als Softwaretreiber bezeichnet. Eine Diskussion über Softwaretreiber finden Sie im Thema Was ist ein Treiber? Softwaretreiber sind nützlich, da sie im Kernelmodus ausgeführt werden können, der ihnen Zugriff auf geschützte Betriebssystemdaten ermöglicht. Informationen zu Prozessormodi finden Sie unter Benutzermodus und Kernelmodus.

Für einen Softwaretreiber sind Die beiden Optionen KMDF und das Legacymodell des Windows NT-Treibers. Mit KMDF und dem älteren Windows NT-Modell können Sie Ihren Treiber schreiben, ohne sich um Plug & Play (PnP) und Energieverwaltung kümmern zu müssen. Sie können sich stattdessen auf die primären Aufgaben Ihres Fahrers konzentrieren. Mit KMDF müssen Sie sich nicht um PnP und Leistung kümmern, da das Framework PnP und Power für Sie verarbeitet. Beim Windows NT-Legacymodell müssen Sie sich keine Sorgen um PnP und Leistung machen, da Kernelmodusdienste in einer Umgebung betrieben werden, die völlig unabhängig von PnP und Energieverwaltung ist.

Wir empfehlen Ihnen, KMDF zu verwenden, insbesondere, wenn Sie bereits damit vertraut sind. Wenn Ihr Treiber vollständig unabhängig von PnP und Energieverwaltung sein soll, verwenden Sie das Ältere Windows NT-Modell. Wenn Sie einen Softwaretreiber schreiben müssen, der über Energieübergänge oder PnP-Ereignisse informiert ist, können Sie das Ältere Windows NT-Modell nicht verwenden. Sie müssen KMDF verwenden.

Hinweis In dem sehr seltenen Fall, dass Sie einen Softwaretreiber schreiben müssen, der PnP- oder Energieereignisse kennt, und Ihr Treiber Zugriff auf Daten benötigt, die nicht über KMDF verfügbar sind, müssen Sie WDM verwenden.

Auswählen eines Treibermodells für einen Dateisystemtreiber

Hilfe bei der Auswahl eines Modells für einen Dateisystemtreiber finden Sie unter Beispiele für Dateisystemtreiber. Beachten Sie, dass Dateisystemtreiber sehr komplex sein können und möglicherweise Kenntnisse über erweiterte Konzepte für die Treiberentwicklung erfordern.

Auswählen eines Treibermodells für einen Dateisystemfiltertreiber

Hilfe bei der Auswahl eines Modells für einen Dateisystemfiltertreiber finden Sie unter Dateisystem-Minifiltertreiber und Dateisystemfiltertreiber.

Auswählen eines Treibermodells für einen Dateisystem-Minifiltertreiber

Hilfe bei der Auswahl eines Modells für einen Dateisystem-Minifiltertreiber finden Sie unter Dateisystem-Minifiltertreiber.

Kernelmodustreiberframework

Benutzermodustreiberframework