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 回呼函式必須設計成只在短時間內執行。 它們通常用來存取中斷數據,而中斷物件的其他 EvtInterruptSynchronizeEvtInterruptIsr 回呼函式也會存取這些數據。

從 KMDF 1.11 版開始,您的驅動程式可以提供 被動層級中斷處理。 如果驅動程式要求被動層級中斷處理,則在 IRQL = PASSIVE_LEVEL 呼叫 EvtInterruptSynchronize 函式之前,架構會取得驅動程式在中斷物件 WDF_INTERRUPT_CONFIG 結構中設定的被動層級中斷鎖定。

如需 EvtInterruptSynchronize 回呼函式的詳細資訊,請參閱 同步處理中斷程式代碼

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

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdfinterrupt.h (包含 Wdf.h)
IRQL (請參閱<註解>區段)。

另請參閱

EvtInterruptIsr

WDF_INTERRUPT_CONFIG

WdfInterruptSynchronize