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


Функция KeInitializeTimerEx (wdm.h)

Подпрограмма KeInitializeTimerEx инициализирует расширенный объект таймера ядра.

Синтаксис

void KeInitializeTimerEx(
  [out] PKTIMER    Timer,
  [in]  TIMER_TYPE Type
);

Параметры

[out] Timer

Указатель на объект таймера, для которого вызывающий объект предоставляет хранилище.

[in] Type

Задает тип объекта таймера NotificationTimer или SynchronizationTimer.

Возвращаемое значение

Никакой

Замечания

Объект таймера инициализирован в состояние без сигнала.

Хранилище для объекта таймера должно быть резидентом: в расширении устройства созданного драйвером объекта устройства, в расширении контроллера объекта контроллера, созданного драйвером, или в непагованном пуле, выделенном вызывающим объектом.

Когда срок действия таймера уведомлений истекает, все потоки ожидания освобождаются, а таймер остается в сигнальном состоянии до явного сброса. Когда истекает срок действия таймера синхронизации, оно устанавливается в сигнальное состояние, пока не будет освобожден один поток ожидания, а затем таймер сбрасывается в состояние без сигнала.

Вызывающие KeInitializeTimerEx должны работать в IRQL = DISPATCH_LEVEL или ниже. Лучше всего инициализировать таймеры в IRQL = PASSIVE_LEVEL.

Дополнительные сведения об объектах таймера см. в объектах таймера иЦП.

Используйте KeSetTimer или KeSetTimerEx, чтобы определить время истечения срока действия таймера.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (см. раздел "Примечания")
правил соответствия DDI HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm)

См. также

KeCancelTimer

KeReadStateTimer

KeSetTimer

KeSetTimerEx

KeWaitForMultipleObjects

KeWaitForSingleObject