7.2.2 StartIo Routine Functionality
7.2.2.1 Device Driver’s StartIo Routine Using Buffered I/O
7.2.2.2 Device Driver’s StartIo Routine Using Direct I/O
7.2.2.3 Handling Device Control Requests in StartIo
7.2.3 Programming the Device for I/O Operations
7.3.2 Setting Up Driver-Managed Queues
7.3.3 Queueing IRPs in Driver-Managed Queues
7.3.4 Managing Interlocked Queues with a Driver-Created Thread
The StartIo routine is defined by the I/O Manager as follows:
VOID (*PDRIVER_STARTIO) ( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
This chapter summarizes the required functionality of NT drivers’ standard StartIo routines. For NT driver designers who need to set up internal queues for IRPs in their drivers, it also summarizes the support Windows NT® provides for doing this and discusses some issues in managing driver-created internal queues.