KeRemoveQueueDpc 函数 (wdm.h)
KeRemoveQueueDpc 例程从系统 DPC 队列中删除指定的 DPC 对象。
语法
BOOLEAN KeRemoveQueueDpc(
[in, out] PRKDPC Dpc
);
参数
[in, out] Dpc
指向已初始化的 DPC 对象的指针,该对象由上一次对 KeInsertQueueDpc 例程的调用排队。
返回值
如果 DPC 对象位于 DPC 队列中,则 KeRemoveQueueDpc 返回 TRUE。 如果指定的 DPC 对象当前不在 DPC 队列中,则不执行任何作,并返回 FALSE。
言论
如果指定的 DPC 对象当前已排队,则会从队列中删除该对象,从而取消对关联的 DPC 例程的调用。
从 Service Pack 1(SP1)和 Windows Server 2008 开始,TRUE 返回值始终意味着,KeRemoveQueueDpc 在 DPC 例程开始运行之前已成功从 DPC 队列中删除 DPC 对象。 在早期版本的 Windows 中,即使 KeRemoveQueueDpc返回 TRUE,DPC 例程也可能偶尔运行。 在这些早期版本的 Windows 中,不能容忍 true 返回值 中的歧义的驱动程序应将 true 的返回 值视为相同,FALSE 相同。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |
DDI 符合性规则 | HwStorPortProhibitedDIS(storport) |