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


Функция WdfTimerStop (wdftimer.h)

[Применимо к KMDF и UMDF]

Метод WdfTimerStop останавливает часы таймера.

Синтаксис

BOOLEAN WdfTimerStop(
  [in] WDFTIMER Timer,
  [in] BOOLEAN  Wait
);

Параметры

[in] Timer

Дескриптор объекта таймера платформы, полученный путем вызова WdfTimerCreate.

[in] Wait

KMDF логическое значение, которое, если TRUE, указывает, что платформа не возвращается до тех пор, пока все вызовы отложенных процедур драйвера не возвращаются, включая функции обратного вызова драйвера EvtTimerFunc обратного вызова.

UMDF логическое значение, которое, если TRUE, указывает, что платформа не возвращается до тех пор, пока не будут выполнены все вызовы в очереди функции обратного вызова таймера EvtTimerFunc.

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

WdfTimerStop возвращает TRUE, если объект таймера был в очереди таймера системы. В противном случае этот метод возвращает FALSE. Дополнительные сведения см. в следующем разделе "Примечания".

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Замечания

Когда драйвер вызывает WdfTimerStart, его объект таймера добавляется в очередь объектов таймера системы. Если таймер не является периодическим таймером, система удаляет объект таймера из очереди после истечения времени ожидания таймера. Если таймер является периодическим таймером, объект таймера остается в очереди, пока драйвер не вызовет WdfTimerStop.

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

WdfTimerStop должен вызываться в IRQL = PASSIVE_LEVEL, если параметр wait TRUE. В противном случае этот метод должен вызываться в IRQL <= DISPATCH_LEVEL.

Не вызывайте WdfTimerStop изнутри EvtTimerFunc с параметром wait значение TRUE. Это может привести к взаимоблокировке.

Осторожность

Одновременные вызовы WdfTimerStop в том же объекте таймера будут прерываться в отладчик, если средство проверки включено. Дополнительные сведения см. в разделе Использование средства проверки KMDF.

Примеры

В следующем примере кода останавливается указанный таймер и ожидается выполнение всех очередей ЦП драйвера.

WdfTimerStop(
             timerHandle,
             TRUE
             );

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка wdftimer.h (include Wdf.h)
библиотеки Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL См. раздел "Примечания".
правил соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также

EvtTimerFunc

WdfTimerCreate

WdfTimerStart