структура 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 для устройств 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) |