EVT_WDF_TIMER回呼函式 (wdftimer.h)

[適用於 KMDF 和 UMDF]

在經過指定的時間週期時,會呼叫 EvtTimerFunc 事件回呼函式。

語法

EVT_WDF_TIMER EvtWdfTimer;

void EvtWdfTimer(
  [in] WDFTIMER Timer
)
{...}

參數

[in] Timer

從先前呼叫 WdfTimerCreate 取得的架構定時器物件的句柄。

傳回值

備註

若要註冊 EvtTimerFunc 回呼函式,並指定應該在架構呼叫此函式之前經過的時間週期,您的驅動程式必須呼叫 WdfTimerCreate

在 1.9 版之前的 KMDF 版本中,架構會將 EvtTimerFunc 回呼函式實作為延後過程調用, (DPC) 。 因此,當時間周期經過時,系統會將呼叫新增至 EvtTimerFunc 回呼函式至 DPC 佇列。 系統會在 IRQL = DISPATCH_LEVEL 呼叫 EvtTimerFunc 回呼函式,當它到達佇列的前端,且可在 IRQL < DISPATCH_LEVEL執行 CPU。

在 KMDF 1.9 版和更新版本中,架構預設會將 EvtTimerFunc 回呼函式實作為 DPC。 或者,如果驅動程式將定時器對象的執行層級設定為 WdfExecutionLevelPassive,架構就會從 IRQL = PASSIVE_LEVEL的工作專案呼叫 EvtTimerFunc 回呼函式。

注意

如果在PASSIVE_LEVEL呼叫 WdfObjectDelete 執行的 EvtTimerFunc 回呼函式,這會導致死結。 相反地,請等候父系在移除裝置時自動刪除定時器-或者,如果您需要提早刪除,請從定時器回呼排程工作專案以刪除定時器。

從UMDF 2.0版開始,UMDF驅動程式的 EvtTimerFunc 回呼函式一律會在PASSIVE_LEVEL執行。

如需架構定時器對象的詳細資訊,請參閱 使用定時器

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdftimer.h (包含 Wdf.h)
IRQL 請參閱一節。

另請參閱

WdfTimerCreate