Chapter 14 IoTimer and CustomTimerDpc Routines

This chapter contains the following information:
14.1 Timer Routine Requirements

14.1.1 IoTimer Routine Requirements

    14.1.1.1 Setting Up an IoTimer Routine

    14.1.1.2 Setting Up Context for an IoTimer Routine

14.1.2 CustomTimerDpc Routine Requirements

    14.1.2.1 Setting Up a CustomTimerDpc Routine

    14.1.2.2 Setting Up Context for a CustomTimerDpc Routine

14.2 Using Timer Routines
14.2.1 Using an IoTimer Routine

14.2.2 Using CustomTimerDpc Routines

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

VOID 
(*PIO_TIMER_ROUTINE) ( 
    IN PDEVICE_OBJECT DeviceObject, 
    IN PVOID Context 
    ); 
 

The CustomTimerDpc routine is defined by the Kernel as follows:

VOID 
(*PKDEFERRED_ROUTINE) ( 
    IN PKDPC Dpc, 
    IN PVOID DeferredContext, 
    IN PVOID SystemArgument1,    // reserved for system use 
    IN PVOID SystemArgument2     // reserved for system use 
    ); 
 

This chapter summarizes the requirements for NT drivers’ standard IoTimer and/or CustomTimerDpc routines and guidelines for using these routines.

For more information about timer objects, with and without associated DPC routines, see also Chapter 3.