WdfInterruptQueueWorkItemForIsr 函数 (wdfinterrupt.h)

[适用于 KMDF 和 UMDF]

WdfInterruptQueueWorkItemForIsr 方法将框架中断对象的 EvtInterruptWorkItem 回调函数排队以供执行。

语法

BOOLEAN WdfInterruptQueueWorkItemForIsr(
  [in] WDFINTERRUPT Interrupt
);

参数

[in] Interrupt

框架中断对象的句柄。

返回值

如果驱动程序的 ISR 在 IRQL = PASSIVE_LEVEL 运行,则 WdfInterruptQueueWorkItemForIsr 如果成功将中断对象的 EvtInterruptWorkItem 回调函数排队,则返回 TRUE。 如果回调函数以前已排队且尚未执行,则方法返回 FALSE

如果驱动程序的 ISR 在 IRQL = DIRQL 下运行,则框架首先将内部 DPC 排队,然后将来自该 DPC 的工作项排队。 在这种情况下,如果框架成功将内部 DPC 排队, 则 WdfInterruptQueueWorkItemForIsr 将返回 TRUE 。 如果内部 DPC 以前已排队,则方法返回 FALSE

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

注解

驱动程序通常从 EvtInterruptIsr 回调函数中调用 WdfInterruptQueueWorkItemForIsr

中断对象的 EvtInterruptWorkItem 回调函数在执行前只能排队一次。 因此,如果对 WdfInterruptQueueWorkItemForIsr 的 调用成功,后续调用将不会对其他回调进行排队。

有关在基于框架的驱动程序中处理中断的详细信息,请参阅 处理硬件中断

如果驱动程序使用未指定 EvtInterruptWorkItem 回调函数的中断对象调用 WdfInterruptQueueWorkItemForIsr,则会发生 bug 检查。

要求

要求
目标平台 通用
最低 KMDF 版本 1.11
最低 UMDF 版本 2.0
标头 wdfinterrupt.h (包括 Wdf.h)
Library Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <=DIRQL
DDI 符合性规则 DriverCreate (kmdf)

另请参阅

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr