必須およびオプションの SCSI ミニポート ドライバー ルーチン
ミニポート ドライバーの HwScsiXxx ルーチンには、ドライバー ライターが選択した任意の名前を付けることができます。 DriverEntry は必須の名前です。
すべての SCSI ミニポート ドライバーには、少なくとも次のシステム定義ルーチンが必要です。
必須ルーチン | 説明 |
---|---|
DriverEntry | ミニポート ドライバーの初期化 |
HwScsiFindAdapter | ドライバーでサポートされるホスト バス アダプター (HBA) をコンピューターで構成する方法 (または、ドライバーでサポートされるかどうか) の決定 |
HwScsiInitialize | サポートされている HBA の初期化 |
HwScsiStartIo | 受信要求のためのミニポートの HBA に対する操作の開始 |
HwScsiResetBus | バス リセット要求の処理 |
各 HBA とドライバー設計者によって異なりますが、SCSI ミニポート ドライバーにはまた、次のシステム定義ルーチンの一部またはすべても備わっています。
ルーチンによって返される値 | 説明 |
---|---|
HwScsiInterrupt | HBA が生成した割り込みを処理します。HBA が割り込みを生成しない場合にのみ省略可能となり、ミニポート ドライバーはポーリングによって HBA のすべての I/O 操作を管理します。 ただし、ポーリングのみを使用すると、ミニポート ドライバーのパフォーマンスとその HBA の I/O スループットに悪影響があります。 このようなミニポート ドライバーには、HwScsiTimer ルーチンも必要です。 |
HwScsiDisableInterruptsCallback と HwScsiEnableInterruptsCallback | 割り込み駆動型 I/O 操作に時間がかかる場合は、遅延 I/O 処理を行います。 |
HwScsiTimer | HBA で長い遅延を必要とする時間操作、またはドライバー設計者が決定したその他の目的のための時間操作。 ミニポート ドライバーに HwScsiInterrupt ルーチンがない場合は、HwScsiTimer ルーチンが必要です。HwScsiTimer ルーチンは、HBA の効率的なポーリングのために使用できます。 |
HwScsiDmaStarted | HBA がシステム DMA コントローラーを使用する場合、システム DMA コントローラーがポート ドライバーによってプログラムされた後に HBA 転送を設定するために必要です。 |
HwScsiAdapterState | HBA に BIOS または x86 リアルモード ドライバーがない場合、または x86 専用の Microsoft Windows システムで実行されない場合にのみ、省略可能です。 |
HwScsiAdapterControl | ミニポート ドライバーがプラグ アンド プレイをサポートしている場合に必要です。 |
HwScsiWmiExecuteMethod | データ ブロックに関連付けられているメソッドを実行します。 このルーチンは省略可能です。 |
HwScsiWmiFunctionControl | イベントの通知を有効または無効にし、ミニポート ドライバーが収集コストが高いと指定したデータ ブロックのデータ収集を有効または無効にします。 省略可能。 |
HwScsiWmiQueryDataBlock | データ ブロックの単一インスタンスまたはすべてのインスタンスを取得します。 必須。 |
HwScsiWmiQueryReginfo | ミニポート ドライバーの代わりに SCSI ポート ドライバーが登録するデータとイベント ブロックに関する情報を取得します。 必須。 |
HwScsiWmiSetDataBlock | データ ブロックの単一インスタンス内のすべてのデータ項目を変更します。 省略可能。 |
HwScsiWmiSetDataItem | データ ブロックのインスタンス内の 1 つのデータ項目を変更します。 省略可能。 |
上記のミニポート ドライバー ルーチンのそれぞれ (DriverEntry を除く) には、その機能を説明するために選択された名前があります。 すべてのミニポート ドライバーの初期エントリ ポイントに必要な名前である DriverEntry を除き、ミニポート ドライバー ルーチンの名前は、ドライバー ライターが選択する任意の名前にすることができます。
「SCSI ミニポート ドライバーでのエラー処理」は、SCSI ミニポート ドライバー のエラー処理要件について説明しています。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示