Функция IoInitializeTimer (wdm.h)
Подпрограмма IoInitializeTimer настраивает подпрограмму, предоставляемую драйвером, IoTimer, связанную с заданным объектом устройства.
Синтаксис
NTSTATUS IoInitializeTimer(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIO_TIMER_ROUTINE TimerRoutine,
[in, optional] __drv_aliasesMem PVOID Context
);
Параметры
[in] DeviceObject
Указатель на объект устройства, представляющий устройство, на котором операции ввода-вывода могут истекать.
[in] TimerRoutine
Указатель на подпрограмму, предоставляемую драйвером, IoTimer.
[in, optional] Context
Указатель на определяемый драйвером контекст, с которым будет вызываться его IoTimer подпрограмма.
Возвращаемое значение
IoInitializeTimer возвращает STATUS_SUCCESS, если настроена подпрограмма IoTimer.
Замечания
IoInitializeTimer следует вызывать только один раз для каждого объекта устройства.
Подпрограмма IoTime r драйвера вызывается один раз в секунду после включения таймера путем вызова IoStartTimer. Драйвер может отключить таймер, вызвав IoStopTimer и повторно заключив его с помощью IoStartTimer.
Подпрограмма драйвера IoTimer вызывается в IRQL = DISPATCH_LEVEL и поэтому не должна содержать код, доступный для страниц.
При запуске таймера диспетчер ввода-вывода вызывает предоставленный драйвером IoTimer подпрограмму один раз в секунду. Драйверы, которые должны вызываться с интервалами времени ожидания или интервалами детализации, могут настроить подпрограмму CustomTimerDpc и использовать подпрограмму KeXxx Таймер.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |