PSDBUS_ACKNOWLEDGE_INT_ROUTINE プロトタイプは、セキュア デジタル (SD) デバイス ドライバーが割り込みの処理を完了したことをバス ドライバーに確認するために呼び出す必要があるルーチンを宣言します。
構文
PSDBUS_ACKNOWLEDGE_INT_ROUTINE PsdbusAcknowledgeIntRoutine;
NTSTATUS PsdbusAcknowledgeIntRoutine(
[in] PVOID Context
)
{...}
パラメーター
[in] Context
SDBUS_INTERFACE_STANDARD 構造体の Context メンバーで、SdBusOpenInterface ルーチンが返すインターフェイス コンテキストを格納します。
戻り値
操作が成功した場合はSTATUS_UNSUCCESSFULを返し、操作が失敗した場合は適切なエラー メッセージを返します。
備考
SD デバイスが割り込みをアサートすると、バス ドライバーは、デバイス ドライバーが IRQL <=DISPATCH_LEVEL で I/O を実行できるように、デバイスがアサートした割り込みを無効にします。 割り込みサービス ルーチンと同等のデバイス ドライバーのコールバック ルーチンが割り込みのクリアを完了すると、バス ドライバーが無効な割り込みを再度有効にできるように割り込み処理が完了したことを確認する必要があります。
従来、ドライバーは割り込みサービス ルーチン (ISR) から適切な値を返すだけで割り込みを確認します。 ドライバーがこのメソッドに依存する場合、割り込みを受信した順序で確認するように制限されます。 一方、SD カード ドライバーは、受信した順序で割り込みを確認するために制約 。 通常、SD カードのドライバーは、いずれかの確認を行う前に、バス ドライバーにいくつかの割り込みを報告する場合があります (PSDBUS_CALLBACK_ROUTINE参照)。 通常の動作条件下では、SD カード ドライバーは、デバイスの割り込み状態がクリアされるまで、割り込みの確認を延期します。
呼び出し元は、割り込みの処理が完了したことを確認したときに、IRQL <= DISPATCH_LEVELで実行されている必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| ターゲット プラットフォーム の | デスクトップ |
| ヘッダー | ntddsd.h (Ntddsd.h を含む) |
| IRQL | <=DISPATCH_LEVEL (「解説」セクションを参照)。 |
関連項目
SdBusOpenInterface の