Función IoInitializeTimer (wdm.h)
La rutina IoInitializeTimer configura una rutina ioTimer proporcionada por el controlador asociada a un objeto de dispositivo determinado.
Sintaxis
NTSTATUS IoInitializeTimer(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIO_TIMER_ROUTINE TimerRoutine,
[in, optional] __drv_aliasesMem PVOID Context
);
Parámetros
[in] DeviceObject
Puntero a un objeto de dispositivo que representa un dispositivo en el que las operaciones de E/S pueden agotar el tiempo de espera.
[in] TimerRoutine
Puntero a la rutina ioTimer proporcionada por el controlador.
[in, optional] Context
Puntero al contexto determinado por el controlador con el que se llamará a su rutina de IoTimer .
Valor devuelto
IoInitializeTimer devuelve STATUS_SUCCESS si la rutina ioTimer está configurada.
Comentarios
Se debe llamar a IoInitializeTimer solo una vez por objeto de dispositivo.
Se llama a la rutina ioTimer de un controlador una vez por segundo después de que el controlador habilite el temporizador mediante una llamada a IoStartTimer. El controlador puede deshabilitar el temporizador llamando a IoStopTimer y puede volver a habilitarlo con IoStartTimer.
Se llama a la rutina ioTimer del controlador en IRQL = DISPATCH_LEVEL y, por lo tanto, no debe contener código paginable.
Cuando se ejecuta el temporizador, el administrador de E/S llama a la rutina ioTimer proporcionada por el controlador una vez por segundo. Los controladores cuyas rutinas de tiempo de espera deben llamarse a intervalos variables o a intervalos de granularidad más fina pueden configurar una rutina CustomTimerDpc y usar las rutinas de KeXxxTimer .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |