структура IDE_TRANSFER_MODE_PARAMETERS (irb.h)

Структура IDE_TRANSFER_MODE_PARAMETERS используется в сочетании с подпрограммой AtaControllerTransferModeSelect драйвера мини-порта для установки параметров режима передачи в канале.

Примечание Модели драйвера портов ATA и драйвера минипорта ATA могут быть изменены или недоступны в будущем. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
 

Синтаксис

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)

См. также раздел

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE