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 例程来初始化此结构。
返回值
如果 Cancel 为 TRUE 且计时器已取消,则此例程返回 TRUE。 否则,例程返回 FALSE。 有关详细信息,请参阅“备注”。
注解
驱动程序调用此例程后,计时器指向的 计时器 对象可能不再有效。 但是,传递给 ExTimerCallback 回调例程的 Timer 参数值(如果驱动程序实现此例程)始终是指向计时器对象的有效指针。
如果 Cancel 为 TRUE,则返回值 FALSE 表示从未设置计时器,或者计时器已设置但已过期,然后才能取消计时器。 如果 Cancel 为 FALSE,则例程始终返回 FALSE。
如果 Wait 为 TRUE,则此例程可能会受阻。 如果从驱动程序的 ExTimerCallback 例程(DISPATCH_LEVEL调用)调用 ExDeleteTimer,则此调用中的 Wait 参数必须为 FALSE。
如果 Wait 为 TRUE,则必须在 IRQL <= APC_LEVEL调用例程。 如果 Wait 为 FALSE,则可以在 IRQL <= DISPATCH_LEVEL调用例程。
有关详细信息,请参阅 删除 System-Allocated 计时器对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8.1开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | Ntoskrnl.lib |
IRQL | 请参阅“备注”。 |