Compartilhar via


Função IoInitializeTimer (wdm.h)

A rotina IoInitializeTimer configura uma rotina IoTimer fornecida pelo driver associada a um determinado objeto de dispositivo.

Sintaxe

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

Parâmetros

[in] DeviceObject

Ponteiro para um objeto de dispositivo que representa um dispositivo no qual as operações de E/S podem atingir o tempo limite.

[in] TimerRoutine

Ponteiro para a rotina IoTimer fornecida pelo driver.

[in, optional] Context

Ponteiro para o contexto determinado pelo driver com o qual sua rotina IoTimer será chamada.

Retornar valor

IoInitializeTimer retornará STATUS_SUCCESS se a rotina IoTimer estiver configurada.

Comentários

IoInitializeTimer deve ser chamado apenas uma vez por objeto de dispositivo.

A rotina IoTimer de um driver é chamada uma vez por segundo depois que o driver habilita o temporizador chamando IoStartTimer. O driver pode desabilitar o temporizador chamando IoStopTimer e pode reabilitá-lo novamente com IoStartTimer.

A rotina IoTimer do driver é chamada em IRQL = DISPATCH_LEVEL e, portanto, não deve conter código paginável.

Quando o temporizador está em execução, o gerente de E/S chama a rotina de IoTimer fornecida pelo driver uma vez por segundo. Os drivers cujas rotinas de tempo limite devem ser chamadas em intervalos variáveis ou em intervalos de granularidade mais fina podem configurar uma rotina CustomTimerDpc e usar as rotinas do Temporizador KeXxx.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Confira também

IoStartTimer

IoStopTimer

IoTimer

KeInitializeTimer

KeSetTimer