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