Freigeben über


Schreiben von Dispatchroutinen

Die Verarbeitung von E/A-Anforderungspaketen (IRP) beginnt in einer Dispatchroutine, die der Treiber registriert, um einen IRP-Hauptfunktionscode (IRP_MJ_*XXX) zu verarbeiten. Die DriverEntry-Routine des Treibers exportiert Einstiegspunkte für Dispatchroutinen in einer Dispatchtabelle innerhalb der DRIVER_OBJECT* Struktur des Treibers.

Ein Treiber kann eine separate Dispatchroutine für jeden wichtigen E/A-Funktionscode bereitstellen, den er verarbeitet. Alternativ können Dispatchroutinen geschrieben werden, um mehrere E/A-Funktionscodes zu verarbeiten.

Dieser Abschnitt enthält die folgenden Themen:

Routinefunktionen für den Versand

Erforderliche Versandroutinen

Optionale Versandroutinen

DispatchRoutinen und IRQLs

Wann sollte der E/A-Stapelspeicherort des Treibers überprüft werden?

DispatchCreate, DispatchClose und DispatchCreateCloseClose Routinen

DispatchCleanup-Routinen

DispatchRead-, DispatchWrite- und DispatchReadWrite-Routinen

DispatchDeviceControl- und DispatchInternalDeviceControl-Routinen

DispatchPnP-Routinen

DispatchPower-Routinen

DispatchQueryInformation-Routinen

DispatchSetInformation-Routinen

DispatchFlushBuffers-Routinen

DispatchShutdown-Routinen

DispatchSystemControl-Routinen