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 控制器的硬件资源。
要求
要求 | 价值 |
---|---|
标头 | irb.h (包括 Irb.h) |