Freigeben über


Windows-Kernelmodus-E/A-Manager

Ein Computer besteht aus verschiedenen Geräten, die Eingabe und Ausgabe (E/A) für und von außen bereitstellen. Typische Geräte sind Tastaturen, Mäuse, Audiocontroller, Videocontroller, Festplattenlaufwerke, Netzwerkports usw. Gerätetreiber stellen die Softwareverbindung zwischen den Geräten und dem Betriebssystem bereit. Aus diesem Grund ist I/O für den Gerätetreiber-Writer wichtig.

Der Windows-Kernelmodus-E/A-Manager verwaltet die Kommunikation zwischen Anwendungen und den Schnittstellen, die von Gerätetreibern bereitgestellt werden. Da Geräte mit Geschwindigkeiten arbeiten, die möglicherweise nicht mit dem Betriebssystem übereinstimmen, erfolgt die Kommunikation zwischen Betriebssystem und Gerätetreibern in erster Linie über E/A-Anforderungspakete (IRPs). Diese Pakete ähneln Netzwerkpaketen oder Windows-Nachrichtenpaketen. Sie werden vom Betriebssystem an bestimmte Treiber und von einem Treiber an einen anderen übergeben.

Das Windows-E/A-System stellt ein mehrschichtiges Treibermodell bereit, das als Stapel bezeichnet wird. Normalerweise gehen IRPs von einem Treiber in einen anderen im selben Stapel, um die Kommunikation zu erleichtern. Beispielsweise müsste ein Joysticktreiber mit einem USB-Hub kommunizieren, der wiederum mit einem USB-Hostcontroller kommunizieren muss, der dann über einen PCI-Bus an den Rest der Computerhardware kommunizieren muss. Der Stapel besteht aus Joysticktreiber, USB-Hub, USB-Hostcontroller und dem PCI-Bus. Diese Kommunikation wird koordiniert, indem jeder Treiber im Stapel IRPs sendet und empfängt.

Es kann nicht genug betont werden, dass Ihr Fahrer IRPs rechtzeitig senden und empfangen muss, damit der gesamte Stapel effizient funktioniert. Wenn Ihr Treiber Teil eines Stapels ist und die Informationen nicht ordnungsgemäß empfängt, verarbeitet und weitergibt, kann ihr Treiber zu Systemabstürzen führen.

Weitere Informationen zu IRPs finden Sie unter Behandeln von IRPs.

Weitere Informationen zu Treiberstapeln finden Sie unter "Geräteobjekte und Gerätestapel".

Programmiertechniken im Zusammenhang mit der E/A-Verwaltung finden Sie unter I/O Manager Programming Techniques.

Routinen, die eine direkte Schnittstelle zum E/A-Manager bereitstellen, werden in der Regel den Buchstaben "Io" vorangestellt; Beispiel: IoCreateDevice. Eine Liste der I/O-Manager-Routinen finden Sie unter "I/O-Manager-Routinen".

Weitere Informationen finden Sie unter "E/A-Anforderungspakete und IRP-Struktur (wdm.h)".

Der E/A-Manager verfügt über zwei Unterkomponenten: den Plug-and-Play-Manager und den Power Manager. Sie verwalten die E/A-Funktionalität für die Technologien von Plug and Play und Power Management. Weitere Informationen zur Plug- und Play-Verwaltung finden Sie unter Windows Kernel-Mode Plug and Play Manager und weitere Informationen zur Energieverwaltung unter Windows Kernel-Mode Power Manager.