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 的 Windows Vista (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) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) |