WdfDpcCancel 函数 (wdfdpc.h)
[仅适用于 KMDF]
WdfDpcCancel 方法尝试取消 DPC 对象的计划的 EvtDpcFunc 回调函数的执行。
语法
BOOLEAN WdfDpcCancel(
[in] WDFDPC Dpc,
[in] BOOLEAN Wait
);
参数
[in] Dpc
框架 DPC 对象的句柄。
[in] Wait
一个布尔值,如果为 TRUE,则指示在取消或完成执行 DPC 对象的 EvtDpcFunc 回调函数之前不会返回 WdfDpcCancel 方法。 如果 为 FALSE, 则 WdfDpcCancel 方法将立即返回。
返回值
如果指定的 DPC 对象的 EvtDpcFunc 回调函数位于系统的 DPC 队列中,WdfDpcCancel 将返回 TRUE。 如果回调函数不在 DPC 队列中,则方法返回 FALSE ,可能是因为回调函数正在执行或已完成执行。
如果驱动程序提供无效的对象句柄,则会发生 bug 检查。
注解
如果指定的 DPC 对象的 EvtDpcFunc 回调函数位于系统的 DPC 队列中,则会将其从队列中删除。 如果 EvtDpcFunc 函数不在队列中,则它正在执行或已完成执行。
如果 Wait 参数为 TRUE,则必须在 IRQL = PASSIVE_LEVEL 调用 WdfDpcCancel 。 如果 Wait 参数为 FALSE,则可以在任何 IRQL 中调用 WdfDpcCancel 。
示例
下面的代码示例取消执行与 WdfDpcCreate 主题中的代码示例创建的 DPC 对象关联的回调函数。
WdfDpcCancel(
PDevExt->CompleteWriteDpc,
TRUE
);
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfdpc.h (包括 Wdf.h) |
Library | Wdf01000.sys (请参阅框架库版本控制.) |
IRQL | 请参见“备注”部分。 |
DDI 符合性规则 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |