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.