Compartir a través de


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)

Consulte también

IoStartTimer

IoStopTimer

IoTimer

KeInitializeTimer

KeSetTimer