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

Структура IDE_DEVICE_PARAMETERS содержит сведения о конфигурации, которые драйвер порта предоставляет драйверу мини-порта для настройки устройства.

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

Синтаксис

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 для устройств ATA, DeviceIsAtapi для устройств ATAPI и DeviceNotExist , если устройство не найдено по указанному адресу. Другие поля в этой структуре недопустимы, если для параметра IdeDeviceType задано значение DeviceNotExist.

TargetId

Указывает целевой идентификатор устройства.

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

Указывает выбранные режимы передачи на устройстве. Драйвер мини-порта должен задать этот элемент.

Комментарии

Драйвер порта передает структуру IDE_DEVICE_PARAMETERS драйверу мини-порта при вызове IdeHwInitialize.

Требования

Требование Значение
Заголовок irb.h (включая Irb.h)

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

ATA_ADDRESS_TRANSLATION

IDE_DEVICE_TYPE

IdeHwInitialize