IDE_CONTROLLER_CONFIGURATION 结构 (irb.h)

IDE_CONTROLLER_CONFIGURATION结构用于在端口驱动程序和微型端口驱动程序之间传递控制器配置信息。

注意 ATA 端口驱动程序和 ATA 微型端口驱动程序模型将来可能会更改或不可用。 建议改用 Storport 驱动程序Storport 微型端口 驱动程序模型。
 

语法

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)