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