Writing Dispatch Routines
Processing any I/O request packet (IRP) begins in a dispatch routine that the driver registers to handle an IRP major function code (IRP_MJ_*XXX). The driver's DriverEntry routine exports entry points for dispatch routines in a dispatch table within the driver's DRIVER_OBJECT* structure.
A driver can provide a separate dispatch routine for each major I/O function code that it handles. Alternatively, dispatch routines can be written to handle multiple I/O function codes.
This section contains the following topics:
Dispatch Routine Functionality
When to Check the Driver's I/O Stack Location
DispatchCreate, DispatchClose, and DispatchCreateClose Routines
DispatchRead, DispatchWrite, and DispatchReadWrite Routines
DispatchDeviceControl and DispatchInternalDeviceControl Routines
DispatchQueryInformation Routines
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for