Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Each driver-specific I/O stack location (IO_STACK_LOCATION) for every IRP contains a major function code (IRP_MJ_XXX), which tells the driver what operation it or the underlying device driver should carry out to satisfy the I/O request. Jeder Kernelmodustreiber muss Verteilerroutinen für die wichtigsten Funktionscodes bereitstellen, die unterstützt werden müssen.
The specific operations a driver carries out for a given IRP_MJ_XXX code depend somewhat on the underlying device, particularly for IRP_MJ_DEVICE_CONTROL and IRP_MJ_INTERNAL_DEVICE_CONTROL requests. Beispielsweise unterscheiden sich die Anforderungen, die an einen Tastaturtreiber gesendet werden, zwangsläufig von denen, die an einen Datenträgertreiber gesendet werden. Der E/A-Manager definiert jedoch die Parameter und den I/O-Stapelspeicherort für jeden systemdefinierten Hauptfunktionscode.
Every higher-level driver must set up the appropriate I/O stack location in IRPs for the next-lower-level driver and call IoCallDriver, either with each input IRP, or with a driver-created IRP (if the higher-level driver holds on to the input IRP). Folglich muss jeder Zwischentreiber eine Dispatch-Routine für jeden wichtigen Funktionscode bereitstellen, den der zugrunde liegende Gerätetreiber verarbeitet. Andernfalls wird ein neuer Zwischentreiber die Kette "unterbrechen", wenn eine Anwendung oder immer noch höherer Ebene versucht, eine E/A-Anforderung an den zugrunde liegenden Gerätetreiber zu senden.
File system drivers and legacy file system filter drivers also handle a required subset of system-defined IRP_MJ_XXX function codes, some with subordinate IRP_MN_XXX function codes. Weitere Informationen zum Behandeln dieser IRPs finden Sie unter IRP-Hauptfunktionscodes für Dateisystemtreiber und ältere FS-Filtertreiber.
Treiber behandeln IRPs, die mit einigen oder allen folgenden Hauptfunktionscodes festgelegt sind:
IRP_MJ_INTERNAL_DEVICE_CONTROL
Die in diesem Abschnitt beschriebenen Eingabe- und Ausgabeparameter sind die funktionsspezifischen Parameter im IRP.
For more information about IRPs, see Handling IRPs.