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)

另請參閱

EvtTimerFunc

WdfTimerCreate

WdfTimerStart