Skriva dispatch-rutiner

Bearbetningen av I/O-begärandepaket (IRP) börjar i en sändningsrutin som drivrutinen registrerar för att hantera en IRP-huvudfunktionskod (IRP_MJ_*XXX). Förarens DriverEntry-rutin exporterar startpunkter för sändningsrutiner i en sändningstabell i förarens DRIVER_OBJECT* struktur.

En drivrutin kan tillhandahålla en separat sändningsrutin för varje större I/O-funktionskod som den hanterar. Du kan också skriva utskicksrutiner för att hantera flera I/O-funktionskoder.

Det här avsnittet innehåller följande avsnitt:

Dispatch-rutinfunktioner

Nödvändiga dispatch-rutiner

Valfria dispatch-rutiner

Dispatch-rutiner och IRQLs

När du ska kontrollera förarens I/O-stackplats

DispatchCreate, DispatchClose och DispatchCreateClose-rutiner

DispatchCleanup rutiner

DispatchRead, DispatchWrite och DispatchReadWrite-rutiner

DispatchDeviceControl och DispatchInternalDeviceControl-rutiner

DispatchPnP-rutiner

DispatchPower-rutiner

DispatcheQueryInformation-rutiner

DispatchSetInformation-rutiner

DispatchFlushBuffers-rutiner

DispatchShutdown-rutiner

DispatchSystemControl-rutiner