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

Подпрограмма ExDeleteTimer удаляет объект таймера, ранее выделенный подпрограммой ExAllocateTimer .

Синтаксис

BOOLEAN ExDeleteTimer(
  [in] PEX_TIMER              Timer,
  [in] BOOLEAN                Cancel,
  [in] BOOLEAN                Wait,
  [in] PEXT_DELETE_PARAMETERS Parameters
);

Параметры

[in] Timer

Указатель на структуру EX_TIMER . Эта структура представляет собой объект таймера, который ранее был выделен подпрограммой ExAllocateTimer .

[in] Cancel

Следует ли отменить таймер, если он установлен в данный момент. Если задано значение TRUE, подпрограмма отменяет таймер. Если задано значение FALSE, подпрограмма не отменяет таймер. Если вызывающий объект задает для параметра Wait значение TRUE, отмена также должна иметь значение TRUE; в противном случае возникает проверка ошибок.

[in] Wait

Следует ли ждать окончания срока действия таймера, если таймер уже начал процесс истечения срока действия. Если задано значение TRUE, подпрограмма ожидает истечения срока действия таймера. Если задано значение FALSE, подпрограмма не ожидает. Дополнительные сведения см. в подразделе "Примечания".

[in] Parameters

Указатель на структуру EXT_DELETE_PARAMETERS . Вызывающий драйвер ранее называл подпрограмму ExInitializeDeleteTimerParameters для инициализации этой структуры.

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

Эта подпрограмма возвращает значение TRUE , если значение Cancel имеет значение TRUE и таймер был отменен. В противном случае подпрограмма возвращает значение FALSE. Дополнительные сведения см. в подразделе "Примечания".

Комментарии

После того как драйвер вызывает эту подпрограмму, объект таймера, на который указывает таймер , может оказаться недействительным. Однако значение параметра таймера , передаваемое в подпрограмму обратного вызова ExTimerCallback , если драйвер реализует эту подпрограмму, всегда является допустимым указателем на объект таймера.

Если параметр Cancel имеет значение TRUE, возвращаемое значение FALSE указывает, что таймер никогда не устанавливался или таймер был установлен, но истек, прежде чем его можно было отменить. Если отмена имеет значение FALSE, подпрограмма всегда возвращает значение FALSE.

Эта подпрограмма может блокироваться, если параметр Wait имеет значение TRUE. Если метод ExDeleteTimer вызывается из подпрограммы ExTimerCallback драйвера, которая вызывается в DISPATCH_LEVEL, параметр Wait в этом вызове должен иметь значение FALSE.

Если параметр Wait имеет значение TRUE, подпрограмма должна вызываться в IRQL <= APC_LEVEL. Если параметр Wait имеет значение FALSE, подпрограмму можно вызвать в irQL <= DISPATCH_LEVEL.

Дополнительные сведения см. в разделе Удаление объекта таймера System-Allocated.

Требования

Требование Значение
Минимальная версия клиента Доступно, начиная с Windows 8.1.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека Ntoskrnl.lib
IRQL См. заметки.

См. также раздел

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters

ExTimerCallback

ExTimerDeleteCallback