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 ミニポートにそれが実行されているモードを通知するこのフィールドを設定します。 次の 2 つのモードが考えられます。
モード | 形容 |
---|---|
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
ミニポート ドライバーは、64 ビット DMA 操作のサポートを示す TRUE このメンバーを設定できます。
BusMaster
ミニポート ドライバーは、バス のマスタリングのサポートを示す TRUE このメンバーを設定できます。
AtaBusType
SATA コントローラーか PATA コントローラーかを示します。
ControllerResources
ATA コントローラーのハードウェア リソースを提供します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | irb.h (Irb.h を含む) |