Freigeben über


Beispiel für die Geräte- und Treiberkonfiguration

In diesem Abschnitt wird die Beziehung zwischen den Hardware- und Treiberkonfigurationen anhand der Tastatur- und Mausgeräte als Beispiel veranschaulicht. Die Konfigurationen unterscheiden sich für andere Geräte. Vollständige Informationen zu jeder Gerätekonfiguration finden Sie in der gerätespezifischen Dokumentation im Windows Driver Kit (WDK).

Die folgende Abbildung zeigt zwei mögliche Hardwarekonfigurationen für Tastatur- und Mausgeräte:

  • Alle direkt an einem ortsgebundenen Systembus

  • Beide über eine Tastatur und einen Zusätzlichen Gerätecontroller verbunden

Diagramm zur Veranschaulichung von Tastatur- und Maushardwarekonfigurationen.

Die folgende Abbildung veranschaulicht die entsprechenden mehrstufigen Treiber für E/A-Vorgänge auf den Geräten, die in der vorherigen Abbildung dargestellt sind.

Tastatur- und Maustreiberebenen.

Beachten Sie, dass Treiber von Tastatur- und Mausgeräten unabhängig von der Hardwarekonfiguration die Tastaturklassen- und Mausklassentreiber des Systems verwenden können, um hardwareunabhängige Vorgänge zu verarbeiten. Diese werden als Klassentreiber bezeichnet, da jeder systeminterne, aber hardwareunabhängige Unterstützung für eine bestimmte Geräteklasse bereitstellt.

Ein entsprechender Porttreiber implementiert die gerätespezifische Unterstützung, um die erforderlichen E/A-Vorgänge auf jedem physischen Gerät auszuführen. Die Systemtastatur (i8042) und der Zusätzliche Geräteporttreiber für x86-basierte Plattformen verwalten gerätespezifische Vorgänge für Maus und Tastatur. In einer Hardwarekonfiguration, in der jedes Gerät separat verbunden ist, wie in der Abbildung zur Veranschaulichung der Tastatur- und Maushardwarekonfigurationen gezeigt, kann jeder Systemklassentreiber über separate gerätespezifische Porttreiber übereinander angeordnet werden, oder ein einzelner Treiber für jedes Gerät könnte als separater monolithischer Treiber (unterste Ebene) implementiert werden.

Ein neuer Zwischentreiber, z. B. ein PnP-Filtertreiber, kann der Konfiguration in der Abbildung hinzugefügt werden, die die Tastatur- und Maustreiberebene veranschaulicht. Beispielsweise kann ein über dem Tastaturklassentreiber hinzugefügter Filtertreiber Tastatureingaben plattformspezifisch filtern, bevor sie über die E/A-Dienste an das Subsystem übergeben werden, das sie angefordert hat. Ein solcher Filtertreiber muss dieselben IRPs und IOCTLs wie der Tastaturklassentreiber erkennen.