次の方法で共有


WdfInterruptReleaseLock 関数 (wdfinterrupt.h)

[KMDF と UMDF に適用]

WdfInterruptReleaseLock メソッドは、割り込みオブジェクトのスピン ロックを保持しながら、デバイスの DIRQL で実行されるコード シーケンスを終了します。

パッシブ レベルの割り込みオブジェクトの場合、 メソッドは、割り込みオブジェクトのパッシブ ロックを保持しながらパッシブ レベルで実行されるコード シーケンスを終了します。

構文

void WdfInterruptReleaseLock(
  [in] WDFINTERRUPT Interrupt
);

パラメーター

[in] Interrupt

フレームワーク割り込みオブジェクトへのハンドル。

注釈

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

WdfInterruptReleaseLock メソッドは、指定された割り込みオブジェクトのスピン ロックまたは待機ロックを解放し、WdfInterruptAcquireLock というドライバーの前に設定されたレベルにプロセッサの IRQL を返します。

ドライバーは、フレームワークがドライバーの EvtInterruptEnable コールバック関数を呼び出す前、またはフレームワークがドライバーの EvtInterruptDisable コールバック関数を呼び出した後に、WdfInterruptReleaseLock を呼び出すことができません。

WdfInterruptReleaseLock メソッドの詳細については、「割り込みコードの同期」を参照してください。

フレームワーク ベースのドライバーでの割り込みの処理の詳細については、「 ハードウェア割り込みの処理」を参照してください。

このメソッドは、 WdfInterruptAcquireLock によって設定された DIRQL で呼び出す必要があります。

パッシブ レベルの割り込みの場合、ドライバーは IRQL = PASSIVE_LEVELで WdfInterruptReleaseLock を 呼び出す必要があります。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfinterrupt.h (Wdf.h を含む)
IRQL 「解説」を参照してください。
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、 WdfInterruptLock(kmdf)WdfInterruptLockRelease(kmdf)

こちらもご覧ください