exDeleteTimer 函式 (wdm.h)

ExDeleteTimer 例程會刪除先前由 ExAllocateTimer 例程配置的定時器物件。

語法

BOOLEAN ExDeleteTimer(
  [in] PEX_TIMER              Timer,
  [in] BOOLEAN                Cancel,
  [in] BOOLEAN                Wait,
  [in] PEXT_DELETE_PARAMETERS Parameters
);

參數

[in] Timer

EX_TIMER 結構的指標。 這個結構是 先前由 ExAllocateTimer 例程配置的定時器物件。

[in] Cancel

如果目前設定定時器,是否要取消定時器。 如果為 TRUE,則例程會在設定定時器時取消定時器。 如果為 FALSE,則例程不會在設定時取消定時器。 如果呼叫端將 Wait 設定為 TRUE則 Cancel 也必須為 TRUE;否則,就會發生錯誤檢查。

[in] Wait

如果定時器已經啟動到期的程式,是否要等候定時器完成到期。 如果為 TRUE,則例程會等候定時器到期。 如果 為 FALSE,則例程不會等候。 如需詳細資訊,請參閱<備註>。

[in] Parameters

EXT_DELETE_PARAMETERS 結構的指標。 呼叫驅動程式先前稱為 ExInitializeDeleteTimerParameters 例程,以初始化這個結構。

傳回值

如果 CancelTRUE 且定時器已取消,則此例程會傳回 TRUE。 否則,例程會傳回 FALSE。 如需詳細資訊,請參閱<備註>。

備註

驅動程式呼叫此例程之後,Timer 所指向的定時 物件可能不再有效。 不過,如果驅動程式實作此例程,則傳遞至 ExTimerCallback 回呼例程的 Timer 參數值一律是定時器物件的有效指標。

如果 CancelTRUE則 FALSE 的傳回值表示從未設定定時器,或定時器已設定,但在取消之前已過期。 如果 CancelFALSE,則例程一律會傳回 FALSE

如果 WaitTRUE,此例程可能會封鎖。 如果從驅動程式的 ExTimerCallback 例程呼叫 ExDeleteTimer,這會在DISPATCH_LEVEL呼叫,則此呼叫中的 Wait 參數必須是 FALSE

如果 WaitTRUE,則必須在 IRQL <= APC_LEVEL呼叫例程。 如果 WaitFALSE,則可以在 IRQL <= DISPATCH_LEVEL呼叫例程。

如需詳細資訊,請參閱 刪除 System-Allocated 定時器物件

規格需求

需求
最低支援的用戶端 從 Windows 8.1 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 Ntoskrnl.lib
IRQL 請參閱<備註>。

另請參閱

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters

ExTimerCallback

ExTimerDeleteCallback