I/O ステータス ブロック

IO_STATUS_BLOCK 構造で構成される I/O ステータス ブロックは、各 IRP の一部です。 I/O ステータス ブロックには、次の 2 つの目的があります。

  • これは、IRP が完了したときにサービスが機能したかどうかを判断する方法として、上位レベルのドライバー の IoCompletion ルーチンを提供します。

  • サービスが機能した理由または機能しなかった理由について詳しく説明します。

IRP が完了すると、[状態] フィールドは、IRP を処理したドライバーが実際に要求を満たしたか、エラー状態で IRP に失敗したかを示します。 情報フィールドでは、実際に発生した内容に関する詳細情報が呼び出し元に示されます。 たとえば、読み取りまたは書き込み操作の後に実際に転送されたバイト数が含まれます。

詳しくは、「IRP での I/O ステータス ブロックの設定」をご覧ください。