Windows Kernel-Mode E/A-Manager
Ein Computer besteht aus verschiedenen Geräten, die Eingaben und Ausgaben (E/A) für und von der Außenwelt bereitstellen. Typische Geräte sind Tastaturen, Mäuse, Audiocontroller, Videocontroller, Datenträger, Netzwerkanschlüsse usw. Gerätetreiber stellen die Softwareverbindung zwischen den Geräten und dem Betriebssystem bereit. Aus diesem Grund ist E/A für den Gerätetreiber-Writer sehr 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 dem Betriebssystem und Gerätetreibern hauptsächlich über I/O-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 mehrstufiges Treibermodell bereit, das als Stapel bezeichnet wird. In der Regel wechseln IRPs von einem Treiber zum 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 müsste, der dann über einen PCI-Bus mit dem Rest der Computerhardware kommunizieren müsste. Der Stapel besteht aus Joysticktreiber, USB-Hub, USB-Hostcontroller und PCI-Bus. Diese Kommunikation wird koordiniert, indem jeder Treiber im Stapel IRPs senden und empfangen soll.
Es kann nicht genug betont werden, dass Ihr Treiber 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.
Informationen zu Programmiertechniken im Zusammenhang mit der E/A-Verwaltung finden Sie unter E/A-Manager-Programmiertechniken.
Routinen, die eine direkte Schnittstelle zum E/A-Manager bereitstellen, werden in der Regel mit den Buchstaben "Io" versehen. Beispiel: IoCreateDevice. Eine Liste der E/A-Managerroutinen finden Sie unter E/A-Managerroutinen.
Listen von Routinen, die sich auf IRPS beziehen, finden Sie unter IRPs.
Der E/A-Manager verfügt über zwei Unterkomponenten: den Plug & Play-Manager und den Energie-Manager. Sie verwalten die E/A-Funktionalität für die Technologien Plug & Play und Energieverwaltung. Weitere Informationen zur Plug & Play-Verwaltung finden Sie unter Windows Kernel-Mode Plug & Play Manager und weitere Informationen zur Energieverwaltung unter Windows Kernel-Mode Power Manager.