Функция KeInitializeTimerEx (wdm.h)
Подпрограмма KeInitializeTimerEx инициализирует расширенный объект таймера ядра.
Синтаксис
void KeInitializeTimerEx(
[out] PKTIMER Timer,
[in] TIMER_TYPE Type
);
Параметры
[out] Timer
Указатель на объект таймера, для которого вызывающий объект предоставляет хранилище.
[in] Type
Указывает тип объекта таймера( NotificationTimer или SynchronizationTimer).
Возвращаемое значение
None
Remarks
Объект таймера инициализируется в состоянии без сигнала.
Хранилище для объекта таймера должно быть резидентным: в расширении устройства объекта устройства, созданного драйвером, в расширении контроллера созданного драйвером объекта контроллера или в непакованном пуле, выделенном вызывающим объектом.
По истечении срока действия таймера уведомлений все ожидающие потоки освобождаются, а таймер остается в состоянии сигнала, пока не будет явно сброшен. По истечении срока действия таймера синхронизации он устанавливается в сигнальное состояние, пока не будет освобожден один ожидающий поток, а затем таймер сбрасывается в состояние без сигнала.
Вызывающие серверы KeInitializeTimerEx должны выполняться в irQL = DISPATCH_LEVEL или ниже. Лучше всего инициализировать таймеры в IRQL = PASSIVE_LEVEL.
Дополнительные сведения об объектах таймера см. в разделе Объекты таймера и DPC.
Используйте KeSetTimer или KeSetTimerEx , чтобы определить, когда истечет срок действия таймера.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (см. раздел "Примечания") |
Правила соответствия DDI | HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm) |