IDE_CONTROLLER_CONFIGURATION構造体 (irb.h)
IDE_CONTROLLER_CONFIGURATION構造体は、ポート ドライバーとミニポート ドライバーの間でコントローラー構成情報を渡すために使用されます。
構文
typedef struct _IDE_CONTROLLER_CONFIGURATION {
USHORT Version;
UCHAR NumberOfChannels;
IDE_OPERATION_MODE ControllerMode;
UCHAR NumberOfPhysicalBreaks;
ULONG MaximumTransferLength;
BOOLEAN Reserved;
BOOLEAN NativeModeEnabled;
BOOLEAN Dma64BitAddress;
BOOLEAN BusMaster;
IDE_BUS_TYPE AtaBusType;
PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;
メンバー
Version
ポート ドライバーは、ポート ドライバーのバージョンを示すようにこのフィールドを設定します。 ポート ドライバーは、バージョンを sizeof(IDE_CONTROLLER_CONFIGURATION) に設定します。 ミニポート ドライバーは、バージョンが使用しているバージョン以上であることを確認する必要があります。
NumberOfChannels
HBA でサポートされるチャネルの数を指定します。 これは、無効になっているチャネルを含むチャネルの合計数を示します。
ControllerMode
ポート ドライバーは、ATA ミニポートにそれが実行されているモードを通知するには、このフィールドを設定します。 選択できるモードは、
モード | 説明 |
---|---|
IdeModeNormal | これは、ATA ミニポートが正常に動作する標準のフル機能モードです。 |
IdeModeDump | これは、休止状態またはクラッシュダンプ中に ATA ミニポートが動作する制限付きメモリ モードです。 コールバック ルーチンとレジストリ アクセス ルーチンは、このモードでは使用できません。 |
NumberOfPhysicalBreaks
HBA がスキャッター/ギャザーをサポートしている場合にデータ バッファーが持つ可能性があるアドレス範囲間の区切りの最大数を指定します。 つまり、散布図/収集リストの数から 1 を引いた数です。 既定では、このメンバーの値は IDE_UNINITIALIZED_VALUE です。これは、HBA が無制限の数の物理的な不連続をサポートできることを示します。 ポート ドライバーがこのメンバーの値を設定する場合、ミニポート ドライバーは値を小さくしても、それ以上は調整できません。 このメンバーがIDE_UNINITIALIZED_VALUEされている場合、ミニポート ドライバーは HBA の散布/収集容量に従ってこのメンバーをリセットする必要があります。
MaximumTransferLength
HBA が 1 回の転送操作で転送できる最大バイト数を指定します。 既定では、このメンバーの値はIDE_UNINITIALIZED_VALUEです。これは、無制限の最大転送サイズを示します。
Reserved
将来利用するために予約されています。 ミニポート ドライバーでは、このフィールドを使用しないでください。
NativeModeEnabled
ミニポート ドライバーは、コントローラーがネイティブ モードで動作することを示すために、このメンバーを TRUE に設定できます。
Dma64BitAddress
ミニポート ドライバーは、このメンバーを TRUE に設定して、64 ビット DMA 操作のサポートを示すことができます。
BusMaster
ミニポート ドライバーは、バスのマスタリングのサポートを示すために 、この メンバーを TRUE に設定できます。
AtaBusType
SATA コントローラーか PATA コントローラーかを示します。
ControllerResources
ATA コントローラーのハードウェア リソースを提供します。
要件
要件 | 値 |
---|---|
Header | irb.h (Irb.h を含む) |