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 迷你埠執行所在的模式。 有兩種可能的模式:
模式 | Description |
---|---|
IdeModeNormal | 這是 ATA 迷你埠正常運作的標準完整功能模式。 |
IdeModeDump | 這是 ATA 迷你埠在休眠或損毀傾印期間運作的有限記憶體模式。 在此模式中,無法使用回呼例程和登錄存取例程。 |
NumberOfPhysicalBreaks
指定如果 HBA 支援散佈/收集,數據緩衝區可以擁有的位址範圍之間的中斷數目上限。 換句話說,散佈/收集清單的數目減一。 根據預設,這個成員的值是IDE_UNINITIALIZED_VALUE,這表示 HBA 可以支援無限數量的實體不明確性。 如果埠驅動程式設定此成員的值,迷你埠驅動程式可以調整較低的值,但不能調整較高的值。 如果此成員IDE_UNINITIALIZED_VALUE,迷你埠驅動程序必須根據 HBA 的散佈/收集容量重設此成員。
MaximumTransferLength
指定 HBA 可在單一傳輸作業中傳輸的最大位元元數目。 根據預設,這個成員的值是IDE_UNINITIALIZED_VALUE,這表示傳輸大小上限無限制。
Reserved
保留供未來使用。 迷你埠驅動程式不得使用此欄位。
NativeModeEnabled
迷你埠驅動程式可以將這個成員設定為 TRUE ,表示控制器是在原生模式中運作。
Dma64BitAddress
迷你埠驅動程式可以將此成員設定為 TRUE ,表示支援 64 位 DMA 作業。
BusMaster
迷你埠驅動程式可以將此成員設定為 TRUE ,以指出總線主控支援。
AtaBusType
指出它是 SATA 或 PATA 控制器。
ControllerResources
提供 ATA 控制器的硬體資源。
規格需求
需求 | 值 |
---|---|
標頭 | irb.h (包含 Irb.h) |