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.