IDE_DEVICE_PARAMETERS 结构 (irb.h)
IDE_DEVICE_PARAMETERS 结构包含端口驱动程序提供给微型端口驱动程序以配置设备的配置信息。
语法
typedef struct _IDE_DEVICE_PARAMETERS {
USHORT Version;
IDE_DEVICE_TYPE IdeDeviceType;
UCHAR TargetId;
UCHAR MaximumLun;
UCHAR NumberOfOverlappedRequests;
UCHAR MaxBlockXfer;
USHORT DeviceCharacteristics;
ATA_ADDRESS_TRANSLATION AddressTranslation;
union {
LARGE_INTEGER MaxLba;
struct {
USHORT NumCylinders;
USHORT NumHeads;
USHORT NumSectorsPerTrack;
USHORT Reserved;
} Chs;
};
ULONG BytesPerLogicalSector;
ULONG BytesPerPhysicalSector;
ULONG BytesOffsetForSectorAlignment;
ULONG TransferModeSupported;
ULONG TransferModeSelected;
} IDE_DEVICE_PARAMETERS, *PIDE_DEVICE_PARAMETERS;
成员
Version
指示 设备 参数结构的大小。 微型端口驱动程序应验证 (IDE_DEVICE_PARAMETERS) 的大小是否小于或等于 “版本 ”字段。
IdeDeviceType
指示设备的类型。 允许的设备类型为 DeviceIsAta for ATA 设备, DeviceIsAtapi for ATAPI 设备,以及 DeviceNotExist (如果该地址未找到设备)。 如果 IdeDeviceType 设置为 DeviceNotExist,则此结构中的其他字段无效。
TargetId
指定设备的目标 ID。
MaximumLun
微型端口驱动程序必须更新此字段,以指示此设备支持的最大逻辑单元数。 默认情况下,成员设置为 0,表示仅存在一个 LUN。
NumberOfOverlappedRequests
微型端口驱动程序必须更新此字段,以指定它可以为此设备处理的重叠请求数。 默认情况下,成员设置为 1。
MaxBlockXfer
指定要传输的数据块中的扇区数。 此值适用于 ATA 块传输命令中使用的数据块,例如读取多个 (0xC4) 、写入多个 (0xC5) 。 有关 ReadMultiple 和 WriteMultiple 命令的详细信息,请参阅 ATA 规范。
DeviceCharacteristics
指定设备特征。 下表列出了可在此成员中设置的特征。 此成员的高字节是不透明的,不应由 ATA 微型端口更改。
设备特征 | 说明 |
---|---|
DFLAGS_REMOVABLE_MEDIA | 指示驱动器具有可移动媒体 |
DFLAGS_ REMOVABLE_DEVICE | 指示可以安全地拔下设备 |
DFLAGS_FUA_SUPPORT | 指示设备支持 FUA (强制单位访问) |
DFLAGS_INT_DRQ | 指示设备中断,因为 DRQ 是在收到 ATAPI 数据包命令后设置的 |
DFLAGS_MSN_SUPPORT | 指示设备支持媒体状态通知。 |
AddressTranslation
包含 类型为 ATA_ADDRESS_TRANSLATION 的枚举值,该值指定在数据传输期间使用的地址转换类型。
MaxLba
指定 LBA) (用户可寻址的最大逻辑块地址。 当 AddressTranslation 等于 LbaMode 或 Lba48BitMode 时定义此成员。
Chs
指定驱动器几何图形,其中包含柱面数、每个柱形的头数和每个轨道的扇区的值。 当 AddressTranslation 等于 ChsMode 时定义此成员。
Chs.NumCylinders
Chs.NumHeads
Chs.NumSectorsPerTrack
Chs.Reserved
BytesPerLogicalSector
此成员指定给定设备每个逻辑扇区 (LBA) 的字节数。
BytesPerPhysicalSector
此成员指定每个物理扇区 (字节数,即设备可以在内部物理写入的最小数据量,) 给定设备。
BytesOffsetForSectorAlignment
此成员指定第一个物理扇区中扇区 0 在以字节表示的 ATA 规范中定义的位置。
TransferModeSupported
包含指示支持的传输模式的位图。
TransferModeSelected
指示设备上的所选传输模式。 微型端口驱动程序必须设置此成员。
注解
端口驱动程序在调用 IdeHwInitialize 时将IDE_DEVICE_PARAMETERS结构传递给微型端口驱动程序。
要求
要求 | 值 |
---|---|
Header | irb.h (包括 Irb.h) |