Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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.