Chapter 13 IoCompletion Routines

This chapter contains the following information:
13.1 Using IoCompletion Routines

13.1.1 Setting Up an IoCompletion Routine

13.1.2 Calling IoSetCompletionRoutine

13.1.3 Allocating IRPs for Lower Drivers

13.2 IoCompletion Routine Required Functionality

The IoCompletion routine is defined by the I/O Manager as follows:

NTSTATUS 
(*PIO_COMPLETION_ROUTINE) ( 
    IN PDEVICE_OBJECT DeviceObject, 
    IN PIRP Irp, 
    IN PVOID Context 
    ); 
 

This chapter summarizes the required functionality of an NT driver’s standard IoCompletion routine(s) and guidelines for setting up IRPs to be processed by IoCompletion routines.