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;否则,将发生 bug 检查。

[in] Wait

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

[in] Parameters

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

返回值

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

注解

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

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

如果 WaitTRUE,则此例程可能会受阻。 如果从驱动程序的 ExTimerCallback 例程(DISPATCH_LEVEL调用)调用 ExDeleteTimer,则此调用中的 Wait 参数必须为 FALSE

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

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

要求

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

另请参阅

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters

ExTimerCallback

ExTimerDeleteCallback