Fonction IoInitializeTimer (wdm.h)

La routine IoInitializeTimer configure une routine IoTimer fournie par le pilote associée à un objet d’appareil donné.

Syntaxe

NTSTATUS IoInitializeTimer(
  [in]           PDEVICE_OBJECT         DeviceObject,
  [in]           PIO_TIMER_ROUTINE      TimerRoutine,
  [in, optional] __drv_aliasesMem PVOID Context
);

Paramètres

[in] DeviceObject

Pointeur vers un objet d’appareil représentant un appareil sur lequel les opérations d’E/S peuvent expirer.

[in] TimerRoutine

Pointeur vers la routine IoTimer fournie par le pilote.

[in, optional] Context

Pointeur vers le contexte déterminé par le pilote avec lequel sa routine IoTimer sera appelée.

Valeur retournée

IoInitializeTimer retourne STATUS_SUCCESS si la routine IoTimer est configurée.

Remarques

IoInitializeTimer ne doit être appelé qu’une seule fois par objet d’appareil.

La routine IoTimer d’un pilote est appelée une fois par seconde après que le pilote a activé le minuteur en appelant IoStartTimer. Le pilote peut désactiver le minuteur en appelant IoStopTimer et peut le réactiver avec IoStartTimer.

La routine IoTimer du pilote est appelée dans IRQL = DISPATCH_LEVEL et ne doit donc pas contenir de code paginable.

Lorsque le minuteur est en cours d’exécution, le gestionnaire d’E/S appelle la routine IoTimer fournie par le pilote une fois par seconde. Les pilotes dont les routines de délai d’attente doivent être appelées à des intervalles variables ou à des intervalles plus précis peuvent configurer une routine CustomTimerDpc et utiliser les routines KeXxxTimer .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Voir aussi

IoStartTimer

IoStopTimer

IoTimer

KeInitializeTimer

KeSetTimer