IDE_TRANSFER_MODE_PARAMETERS结构(irb.h)
IDE_TRANSFER_MODE_PARAMETERS结构与微型端口驱动程序的 AtaControllerTransferModeSelect 例程结合使用,以在通道上设置传输模式参数。
语法
typedef struct _IDE_TRANSFER_MODE_PARAMETERS {
UCHAR ChannelNumber;
IDE_DEVICE_TYPE DeviceType[MAX_IDE_DEVICE];
BOOLEAN IoReadySupported[MAX_IDE_DEVICE];
ULONG DeviceTransferModeSupported[MAX_IDE_DEVICE];
ULONG DeviceTransferModeCurrent[MAX_IDE_DEVICE];
ULONG DeviceTransferModeSelected[MAX_IDE_DEVICE];
} IDE_TRANSFER_MODE_PARAMETERS, *PIDE_TRANSFER_MODE_PARAMETERS;
成员
ChannelNumber
指示要设置其模式参数的通道号。
DeviceType[MAX_IDE_DEVICE]
包含指示设备类型的 IDE_DEVICE_TYPE 类型的枚举值。 如果设备类型 DeviceNotExist,微型端口驱动程序不应选择传输模式。
IoReadySupported[MAX_IDE_DEVICE]
指示当 TRUE 所指示设备的标识数据的第 11 位 49 位设置为 1。 具有函数值的 IDE 请求IRB_FUNCTION_ATA_IDENTIFY将检索设备的标识数据。 有关 ATA 标识数据的详细信息,请参阅 ATA/ATAPI 规范版本 6.0 中的“识别设备信息数据包”部分。
DeviceTransferModeSupported[MAX_IDE_DEVICE]
包含一个位图,该位图指示通道上每个设备的受支持传输模式。 端口驱动程序设置此成员。 微型端口驱动程序不得选择端口驱动程序不支持的传输模式。 有关此成员的详细信息,请参阅 备注 部分。
DeviceTransferModeCurrent[MAX_IDE_DEVICE]
包含一个位图,该位图指示通道上每台设备的当前传输模式设置。 端口驱动程序从设备的标识设备数据中检索设备的当前传输模式。 有关此成员的详细信息,请参阅 备注 部分。
DeviceTransferModeSelected[MAX_IDE_DEVICE]
包含一个位图,该位图指示通道上每个设备的所选传输模式设置。 微型端口驱动程序应使用此成员向端口驱动程序指示它选择的传输模式。 有关此成员的详细信息,请参阅 备注 部分。
言论
DeviceTransferModeSupported、DeviceTransferModeCurrent的成员数组,DeviceTransferModeSelected 是指示 PIO 和 DMA 传输模式组合的 ULONG 位图数组。 位图的定义如下:
PIO 模式
#define PIO_MODE0 (1 << 0)
#define PIO_MODE1 (1 << 1)
#define PIO_MODE2 (1 << 2)
#define PIO_MODE3 (1 << 3)
#define PIO_MODE4 (1 << 4)
// Single-word DMA Modes
#define SWDMA_MODE0 (1 << 5)
#define SWDMA_MODE1 (1 << 6)
#define SWDMA_MODE2 (1 << 7)
// Multi-word DMA Modes
#define MWDMA_MODE0 (1 << 8)
#define MWDMA_MODE1 (1 << 9)
#define MWDMA_MODE2 (1 << 10)
// Ultra DMA Modes
#define UDMA_MODE0 (1 << 11)
#define UDMA_MODE1 (1 << 12)
#define UDMA_MODE2 (1 << 13)
#define UDMA_MODE3 (1 << 14)
#define UDMA_MODE4 (1 << 15)
#define UDMA_MODE5 (1 << 16)
要求
要求 | 价值 |
---|---|
标头 | irb.h (包括 Irb.h) |