EVT_WDF_INTERRUPT_ENABLE回呼函式 (wdfinterrupt.h)
[適用於 KMDF 和 UMDF]
驅動程式的 EvtInterruptEnable 事件回呼函式會啟用指定的硬體中斷。
語法
EVT_WDF_INTERRUPT_ENABLE EvtWdfInterruptEnable;
NTSTATUS EvtWdfInterruptEnable(
[in] WDFINTERRUPT Interrupt,
[in] WDFDEVICE AssociatedDevice
)
{...}
參數
[in] Interrupt
架構中斷物件的句柄。
[in] AssociatedDevice
驅動程式傳遞至 WdfInterruptCreate之架構裝置物件的句柄。
返回值
EvtInterruptEnable 回呼函式必須傳回STATUS_SUCCESS或另一個狀態值,如果函式沒有發生任何錯誤,NT_SUCCESS狀態)等於 true。 否則,此函式必須傳回狀態值,NT_SUCCESS狀態) 等於 FALSE。
備註
若要註冊 EvtInterruptEnable 回呼函式,您的驅動程式必須先將回呼函式的位址放在 WDF_INTERRUPT_CONFIG 結構中,才能呼叫 WdfInterruptCreate。
每次裝置進入其工作狀態時,架構會呼叫驅動程式的 EvtInterruptEnable 回呼函式。 此外,驅動程式可藉由呼叫 WdfInterruptEnable,讓架構呼叫 EvtInterruptEnable 回呼函式。 請注意,大部分架構型驅動程式不應該呼叫 WdfInterruptEnable,因為架構會在每次裝置進入其工作狀態時呼叫驅動程式的 EvtInterruptEnable 回呼函式。
在呼叫 EvtInterruptEnable 回呼函式之前,架構會將處理器的 IRQL 提高到裝置的 DIRQL,並取得中斷物件 WDF_INTERRUPT_CONFIG 結構中指定的驅動程式的微調鎖定。
從 KMDF 1.11 版開始,您的驅動程式可以提供 被動層級中斷處理。 如果驅動程式已要求被動層級中斷處理,則在 IRQL = PASSIVE_LEVEL呼叫 EvtInterruptEnable 函式之前,架構會取得驅動程式在中斷物件 WDF_INTERRUPT_CONFIG 結構中設定的被動層級中斷鎖定。
EvtInterruptEnable 回呼函式傳回之後,架構會在 IRQL = PASSIVE_LEVEL 呼叫驅動程式的 EvtDeviceD0EntryPostInterruptsEnabled 事件回呼函式。
您不得假設每次架構呼叫驅動程式的 EvtInterruptEnable 回呼函式時,裝置都會使用相同的中斷資源。 有時 PnP 管理員 重新發佈系統資源,而且可能會將新的中斷資源指派給裝置。 驅動程式可以呼叫 WdfInterruptGetInfo 來判斷裝置的中斷資源。
如需在架構型驅動程式中處理中斷的詳細資訊,請參閱 處理硬體中斷。
需求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標題 | wdfinterrupt.h (包括 Wdf.h) |
IRQL | (請參閱一節。 |