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

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

備註

驅動程式通常會從 EvtInterruptIsr 回呼函式內呼叫 WdfInterruptQueueWorkItemForIsr

中斷物件的 EvtInterruptWorkItem 回呼函式只能在其執行之前排入佇列一次。 因此,如果 對 WdfInterruptQueueWorkItemForIsr 的呼叫成功,後續呼叫就不會將其他回呼排入佇列。

如需在架構型驅動程式中處理中斷的詳細資訊,請參閱 處理硬體中斷

如果驅動程式使用未指定 EvtInterruptWorkItem 回呼函式的中斷物件呼叫 WdfInterruptQueueWorkItemForIsr,就會發生錯誤檢查。

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.11
最低UMDF版本 2.0
標頭 wdfinterrupt.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <=DIRQL
DDI 合規性規則 DriverCreate (kmdf)

另請參閱

EvtInterruptDpc

EvtInterruptIsr

WdfInterruptCreate

WdfInterruptQueueDpcForIsr