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.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.