Поделиться через


Функция 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)

См. также

IoStartTimer

IoStopTimer

IoTimer

KeInitializeTimer

KeSetTimer