WdfTimerStop 函式 (wdftimer.h)
[適用於 KMDF 和 UMDF]
WdfTimerStop 方法會停止定時器的時鐘。
語法
BOOLEAN WdfTimerStop(
[in] WDFTIMER Timer,
[in] BOOLEAN Wait
);
參數
[in] Timer
呼叫 WdfTimerCreate 取得之架構定時器物件的句柄。
[in] Wait
KMDF 布爾值,如果 為 TRUE,則會指定架構不會傳回,直到驅動程式延遲過程調用的所有佇列呼叫 (DPC) ,包括驅動程式的 EvtTimerFunc 回呼函式都已執行為止。
UMDF 布爾值,如果為 TRUE,則會指定架構在執行定時器 EvtTimerFunc 回呼函式的所有佇列呼叫之前都不會傳回。
傳回值
如果定時器對象位於系統的定時器佇列中,WdfTimerStop 會傳回 TRUE。 否則,這個方法會傳回 FALSE。 如需詳細資訊,請參閱接下來的<備註>一節。
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
備註
當驅動程式呼叫 WdfTimerStart 時,其定時器物件會新增至系統的定時器物件佇列。 如果定時器不是定期定時器,系統會在定時器的「到期時間」經過之後,從佇列中移除定時器物件。 如果定時器是定期定時器,定時器物件會保留在佇列中,直到驅動程式呼叫 WdfTimerStop 為止。
如需架構定時器對象的詳細資訊,請參閱 使用定時器。
如果 Wait 參數為 TRUE,則必須在 IRQL = PASSIVE_LEVEL呼叫 WdfTimerStop。 否則,必須在 IRQL <= DISPATCH_LEVEL呼叫此方法。
請勿從 EvtTimerFunc 內呼叫 WdfTimerStop,並將 Wait 參數設定為 TRUE。 這樣做可能會導致死結。
範例
下列程式代碼範例會停止指定的定時器,並等候所有驅動程式的佇列 DPC 執行。
WdfTimerStop(
timerHandle,
TRUE
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdftimer.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | 請參閱一節。 |
DDI 合規性規則 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應