共用方式為


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 TRUE。 否則,這個方法會傳回 FALSE。 如需詳細資訊,請參閱下列一節。

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

言論

當驅動程式呼叫 WdfTimerStart時,其定時器物件會新增至系統的定時器物件佇列。 如果定時器不是定期定時器,系統會在定時器的「到期時間」經過之後,從佇列中移除定時器物件。 如果定時器是定期定時器,定時器物件會保留在佇列中,直到驅動程式呼叫 WdfTimerStop為止。

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

如果 Wait 參數 TRUE,則必須在 IRQL = PASSIVE_LEVEL 呼叫 WdfTimerStop。 否則,必須在 IRQL <= DISPATCH_LEVEL呼叫這個方法。

請勿從 EvtTimerFu nc 內部呼叫 WdfTimerStop,並將 wait 參數設定為 TRUE。 這樣做可能會導致死結。

謹慎

如果已啟用驗證器,則相同定時器物件上 WdfTimerStop 的並行呼叫將會中斷至調試程式。 如需詳細資訊,請參閱使用 KMDF 驗證程式

例子

下列程式代碼範例會停止指定的定時器,並等候所有驅動程式已排入佇列的 DPC 執行。

WdfTimerStop(
             timerHandle,
             TRUE
             );

要求

要求 價值
目標平臺 普遍
最低 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