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,则 取消 也必须 TRUE;否则,会发生 bug 检查。

[in] Wait

如果计时器已启动过期过程,是否等待计时器完成过期。 如果 TRUE,则例程将等待计时器过期。 如果 FALSE,则例程不会等待。 有关详细信息,请参阅“备注”。

[in] Parameters

指向 EXT_DELETE_PARAMETERS 结构的指针。 调用驱动程序以前调用 ExInitializeDeleteTimerParameters 例程来初始化此结构。

返回值

如果 取消TRUE 并取消计时器,则此例程将返回 TRUE。 否则,例程返回 FALSE。 有关详细信息,请参阅“备注”。

言论

驱动程序调用此例程后,计时器 指向的计时器对象可能不再有效。 但是,如果驱动程序实现此例程,计时器 传递给 ExTimerCallback 回调例程的参数值始终是指向计时器对象的有效指针。

如果 取消TRUE,则返回值为 FALSE 表示从未设置计时器,或者计时器已设置但过期,然后才能取消。 如果 取消FALSE,则例程始终返回 FALSE

如果 等待TRUE,则此例程可能会阻止。 如果从驱动程序的 ExTimerCallback 例程调用 ExDeleteTimer DISPATCH_LEVEL,则此调用中的 Wait 参数必须 FALSE

如果 WaitTRUE,则必须在 IRQL <= APC_LEVEL 调用例程。 如果 WaitFALSE,则可以在 IRQL <= DISPATCH_LEVEL 调用例程。

有关详细信息,请参阅 删除 System-Allocated 计时器对象

要求

要求 价值
最低支持的客户端 从 Windows 8.1 开始可用。
目标平台 普遍
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
Ntoskrnl.lib
IRQL 请参阅“备注”。

另请参阅

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters

ExTimerCallback

ExTimerDeleteCallback