EVT_WDF_INTERRUPT_SYNCHRONIZE回呼函式 (wdfinterrupt.h)
[適用於 KMDF 和 UMDF]
驅動程式的 EvtInterruptSynchronize 事件回呼函式會執行必須與 EvtInterruptIsr 回呼函式同步處理的作業。
語法
EVT_WDF_INTERRUPT_SYNCHRONIZE EvtWdfInterruptSynchronize;
BOOLEAN EvtWdfInterruptSynchronize(
[in] WDFINTERRUPT Interrupt,
[in] WDFCONTEXT Context
)
{...}
參數
[in] Interrupt
架構中斷物件的句柄。
[in] Context
驅動程式所提供的資訊,由驅動程式在呼叫 WdfInterruptSynchronize 時指定。
傳回值
如果作業成功, EvtInterruptSynchronize 回呼函式必須傳回 TRUE 。 否則,此函式必須傳回 FALSE。
備註
若要執行 EvtInterruptSynchronize 回 呼函式,驅動程式必須呼叫 WdfInterruptSynchronize。
如果驅動程式已設定中斷對象來處理裝置的 IRQL (DIRQL) ,則在呼叫 EvtInterruptSynchronize 回呼函式之前,架構會將處理器的中斷要求層級提升為 DIRQL,並取得中斷物件 WDF_INTERRUPT_CONFIG 結構中指定的驅動程式微調鎖定。
因此,當 EvtInterruptSynchronize 回呼函式正在執行時,中斷物件的 EvtInterruptIsr 回呼函式會 (,以及在 DIRQL 上執行的任何其他程式代碼,同時按住微調鎖定) 無法執行。
EvtInterruptSynchronize 回呼函式必須設計成只在短時間內執行。 它們通常用來存取中斷數據,而中斷物件的其他 EvtInterruptSynchronize 或 EvtInterruptIsr 回呼函式也會存取這些數據。
從 KMDF 1.11 版開始,您的驅動程式可以提供 被動層級中斷處理。 如果驅動程式要求被動層級中斷處理,則在 IRQL = PASSIVE_LEVEL 呼叫 EvtInterruptSynchronize 函式之前,架構會取得驅動程式在中斷物件 WDF_INTERRUPT_CONFIG 結構中設定的被動層級中斷鎖定。
如需 EvtInterruptSynchronize 回呼函式的詳細資訊,請參閱 同步處理中斷程式代碼。
如需在架構型驅動程式中處理中斷的詳細資訊,請參閱 處理硬體中斷。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfinterrupt.h (包含 Wdf.h) |
IRQL | (請參閱<註解>區段)。 |