Lire en anglais

Partager via


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 de ioTimer fournie par le pilote.

[in, optional] Context

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

Valeur de retour

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 d’un pilote est appelée une fois par seconde après que le pilote active le minuteur en appelant IoStartTimer. Le pilote peut désactiver le minuteur en appelant IoStopTimer et peut le réactiver à nouveau avec IoStartTimer.

La routine ioTimer du pilote est appelée à 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 le pilote fourni IoTimer routine une fois par seconde. Les pilotes dont les routines de délai d’attente doivent être appelées à intervalles variables ou à intervalles de granularité plus fine peuvent configurer une routine CustomTimerDpc et utiliser les routines KeXxxMinuteur.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’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