Função IoInitializeTimer (wdm.h)
A rotina de IoInitializeTimer configura uma rotina de do 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 perder tempo.
[in] TimerRoutine
Ponteiro para a rotina de do IoTimer fornecida pelo driver.
[in, optional] Context
Ponteiro para o contexto determinado pelo driver com o qual sua rotina de do IoTimer será chamada.
Valor de retorno
IoInitializeTimer retornará STATUS_SUCCESS se a rotina de do IoTimer estiver configurada.
Observações
IoInitializeTimer deve ser chamado apenas uma vez por objeto de dispositivo.
A rotina de do IoTimer de do 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 reenabilitá-lo novamente com IoStartTimer.
A rotina de IoTimer do 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 do 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 KeXxxTimer.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |