Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма 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) |