Storport ドライバーのミニポート ルーチン
Storport ドライバーで動作するミニポート ドライバーには、このセクションに記載されているルーチンの説明の実装が含まれている必要があります。また、ミニポート ドライバーの初期化フェーズ中に HW_INITIALIZATION_DATA 構造を介して公開する必要があります。
Storport ミニポート ドライバー ルーチンは、ほとんどの点で、相当する SCSI ポートに対応します (詳細については SCSI ミニポート ドライバー ルーチンを参照してください)。 ただし、SCSI ポート ドライバーの設計と Storport ドライバーの設計には重要な違いがあり、これらのルーチンではこの違いに対応する必要があります。
たとえば、Storport ドライバーで動作するミニポート ドライバーは、HwStorStartIo ルーチンが完了した後、別の I/O 要求を受け取るために常に準備が整っている必要があります。 SCSI ポートで動作するミニポート ドライバーは、これを行う必要はありません。 SCSI ポート バージョンは、StorPortNotification 関数を使用してポート ドライバーに別の要求を処理する準備が整っていることを明示的に通知するまで、新しい I/O 要求を受信しません。
Storport バージョンのミニポート ドライバーが送信時に要求を処理できない場合は、SCSI ポートバージョンでは使用できない一連のキュー管理機能があり、これによりオーバーロードを処理できます。 SCSI ポートのバージョンと同様に、ミニポート ドライバーの Storport バージョンは、SRB_STATUS_BUSY で要求を完了しますが、SCSI ポートのバージョンとは異なり、StorPortDeviceBusy ルーチンを使用して、デバイス キューをビジーとしてマークすることもできます。 同様の関数を使用すると、ミニポート ドライバーはアダプター全体で処理を一時停止および再開できます。
Storport ドライバーによって提供されるサポート ルーチンの詳細については、Storport ドライバーのサポート ルーチンを参照してください。
Storport ドライバーの詳細については、ストレージ ポート ドライバーを参照してください。
ミニポート ドライバー ルーチンを次に示します。
ルーチンによって返される値 | 説明 |
---|---|
HW_MESSAGE_SIGNALED_INTERRUPT_ROUTINE | メッセージ通知割り込み (MSI) を処理します。 |
HW_ADAPTER_CONTROL | 電源管理のために HBA の停止や再起動など、アダプターの状態または動作を制御する同期操作を実行します。 |
HW_BUILDIO | 共有システム データ構造への同期されていないアクセス権を持つ SRB を処理してから、HwStorStartIo に渡します。 |
HW_DPC_ROUTINE | 遅延プロシージャ呼び出し (DPC) メカニズムを使用して DISPATCH IRQL で実行するために遅延されるルーチン。 |
HW_FIND_ADAPTER | 指定された構成を使用して、特定の HBA がサポートされているかどうかを判断し、サポートされている場合は、そのアダプターに関する構成情報を返します。 |
HW_INITIALIZE | システムの再起動または電源障害が発生した後、ミニポート ドライバーを初期化します。 |
HW_INTERRUPT | Storport ドライバーは、HBA が 割り込み要求を生成した後、HwStorInterrupt ルーチンを呼び出します。 |
HW_PASSIVE_INITIALIZE_ROUTINE | 現在の IRQL が PASSIVE_LEVEL にあるときに HwStorInitialize ルーチンの後に呼び出されます。 |
HW_RESET_BUS | エラー状態をクリアするためにポート ドライバーによって呼び出されます。 |
HW_STARTIO | Storport ドライバーは、受信 I/O 要求ごとに HwStorStartIo ルーチンを 1 回呼び出します。 |
HW_TIMER | ミニポート ドライバーが RequestTimerCallNotificationType 値を持つ StorPortNotification と呼ばれるときに、指定された間隔の後に呼び出されます。 |
HW_TRACING_ENABLED | Storport で、イベント トレースが有効になっていることをミニポートに通知できるようにします。 |
HW_UNIT_CONTROL | ストレージ ユニット デバイスの状態を制御する同期操作を実行するために呼び出されます。 ミニポート ドライバーは、ユニットを開始するか、ユニット デバイスの電源状態遷移を処理するように通知されます。 |
HW_WORKITEM | Storport 作業項目要求を処理するためのミニポート提供のコールバック関数。 |
STORPORT_TELEMETRY_EVENT | ミニポート テレメトリ データ ペイロードについて説明します。 |
StorPortLogTelemetry | ミニポート テレメトリ イベントをログに記録して、有用な情報を診断または収集します。 ミニポートは、8 つの汎用の名前と値のペアと 4 KB の最大長を持つバッファーだけでなく、構造体 STORPORT_TELEMETRY_EVENT で定義されているいくつかのイベント関連フィールドをログに記録できます。 |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示