WdfInterruptQueueWorkItemForIsr 関数 (wdfinterrupt.h)
[KMDF と UMDF に適用]
WdfInterruptQueueWorkItemForIsr メソッドは、フレームワーク割り込みオブジェクトの EvtInterruptWorkItem コールバック関数をキューに入れ、実行します。
構文
BOOLEAN WdfInterruptQueueWorkItemForIsr(
[in] WDFINTERRUPT Interrupt
);
パラメーター
[in] Interrupt
フレームワーク割り込みオブジェクトへのハンドル。
戻り値
ドライバーの ISR が IRQL = PASSIVE_LEVELで実行されている場合、割り込みオブジェクトの EvtInterruptWorkItem コールバック関数を正常にキューに入れた場合、WdfInterruptQueueWorkItemForIsr は TRUE を返します。 コールバック関数が以前にキューに登録されていて、実行されていない場合、メソッドは FALSE を 返します。
ドライバーの ISR が IRQL = DIRQL で実行されている場合、フレームワークは最初に内部 DPC をキューに入れ、その DPC の作業項目をキューに入れます。 この場合、フレームワークが内部 DPC を正常にキューに入れた場合、 WdfInterruptQueueWorkItemForIsr はTRUE を 返します。 内部 DPC が以前にキューに入っていた場合、メソッドは FALSE を 返します。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
ドライバーは通常、EvtInterruptIsr コールバック関数内から WdfInterruptQueueWorkItemForIsr を呼び出します。
割り込みオブジェクトの EvtInterruptWorkItem コールバック関数は、実行前に 1 回だけキューに入れられます。 したがって、 WdfInterruptQueueWorkItemForIsr の呼び出しが成功した場合、後続の呼び出しでは追加のコールバックはキューに入れられません。
フレームワーク ベースのドライバーでの割り込みの処理の詳細については、「 ハードウェア割り込みの処理」を参照してください。
ドライバーが EvtInterruptWorkItem コールバック関数を指定しない割り込みオブジェクトを使用して WdfInterruptQueueWorkItemForIsr を呼び出すと、バグ チェックが発生します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.11 |
最小 UMDF バージョン | 2.0 |
Header | wdfinterrupt.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DIRQL |
DDI コンプライアンス規則 | DriverCreate(kmdf) |