структура 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. Запрос интегрированной среды разработки со значением функции IRB_FUNCTION_ATA_IDENTIFY получает идентификацию устройства. Дополнительные сведения о данных идентификации ATA см. в разделах пакета сведений об идентификации устройства в версии 6.0 спецификации ATA/ATAPI.
DeviceTransferModeSupported[MAX_IDE_DEVICE]
Содержит растровое изображение, указывающее поддерживаемые режимы передачи для каждого из устройств в канале. Драйвер порта задает этот элемент. Драйвер мини-порта не должен выбирать режим передачи, который драйвер порта не поддерживает. Дополнительные сведения об этом участнике см. в разделе Примечания .
DeviceTransferModeCurrent[MAX_IDE_DEVICE]
Содержит растровое изображение, указывающее текущие параметры режима передачи для каждого устройства в канале. Драйвер порта извлекает текущий режим передачи устройств из данных их идентификации. Дополнительные сведения об этом участнике см. в разделе Примечания .
DeviceTransferModeSelected[MAX_IDE_DEVICE]
Содержит растровое изображение, указывающее выбранные параметры режима передачи для каждого устройства в канале. Драйвер мини-порта должен использовать этот элемент, чтобы указать драйверу порта, какие режимы передачи он выбирает. Дополнительные сведения об этом участнике см. в разделе Примечания .
Комментарии
Массивы-члены DeviceTransferModeSupported, DeviceTransferModeCurrent и DeviceTransferModeSelected — это массивы растровых изображений ULONG, указывающих сочетания режимов передачи персональных данных и DMA. Точечные изображения определяются следующим образом:
Режимы 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) |