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 控制器的硬件资源。

要求

要求 价值
标头 irb.h (包括 Irb.h)