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 在单个传输操作中可以传输的最大字节数。 默认情况下,此成员的值IDE_UNINITIALIZED_VALUE,表示最大传输大小不受限制。
Reserved
保留供将来使用。 微型端口驱动程序不得使用此字段。
NativeModeEnabled
微型端口驱动程序可以将此成员设置为 TRUE ,以指示控制器将在本机模式下运行。
Dma64BitAddress
微型端口驱动程序可以将此成员设置为 TRUE ,以指示支持 64 位 DMA 操作。
BusMaster
微型端口驱动程序可以将此成员设置为 TRUE ,以指示总线主控支持。
AtaBusType
指示它是 SATA 控制器还是 PATA 控制器。
ControllerResources
提供 ATA 控制器的硬件资源。
要求
要求 | 值 |
---|---|
Header | irb.h (包括 Irb.h) |