Поделиться через


структура RS_COMMAND_DESCRIPTOR (scsi.h)

Структура RS_COMMAND_DESCRIPTOR содержит сведения об одном поддерживаемом блоке дескриптора команд (CDB).

Синтаксис

typedef struct {
  UCHAR OperationCode;
  UCHAR Reserved;
  UCHAR ServiceAction[2];
  UCHAR Reserved1;
  UCHAR ServiceActionValid : 1;
  UCHAR CommandTimeoutsDescriptorPresent : 1;
  UCHAR CommandDurationLimitPage : 2;
  UCHAR MultipleLogicalUnits : 2;
  UCHAR ReadWriteCommandDurationLimitsPage : 1;
  UCHAR Reserved2 : 1;
  UCHAR CdbLength[2];
} RS_COMMAND_DESCRIPTOR, *PRS_COMMAND_DESCRIPTOR;

Члены

OperationCode

Указывает команду, запрашиваемую блоком дескриптора команд (CDB).

Reserved

Зарезервировано для внутреннего использования.

ServiceAction[2]

Предоставляет квалификацию для поля OperationCode для некоторых команд, позволяя:

  • Несвязанные команды, которые используют один и тот же код операции, например коды операций, поддерживаемые отчетом, и команды групп портов целевого объекта отчета.
  • Набор связанных функций, которые совместно используют один и тот же код операции, например команда Persistent Reserve In.

Reserved1

Зарезервировано для внутреннего использования.

ServiceActionValid

Указывает, что содержимое полей OperationCode и ServiceAction является допустимым.

CommandTimeoutsDescriptorPresent

Указывает, что дескриптор времени ожидания команд включен в этот дескриптор команды.

CommandDurationLimitPage

Поля ReadWriteCommandDurationLimitsPage и CommandDurationLimitPage вместе указывают на страницу режима, указывающую ограничение на длительность команды.

MultipleLogicalUnits

Поле MultipleLogicalUnits описано в следующей таблице.

Значение Описание
0 Влияние этой команды на другие логические единицы не сообщается.
1 Эта команда влияет только на эту логическую единицу.
2 Эта команда влияет на несколько, но не все логические единицы, содержащиеся в этом целевом устройстве SCSI.
3 Эта команда влияет на все логические единицы, содержащиеся в этом целевом устройстве SCSI.

ReadWriteCommandDurationLimitsPage

Поля ReadWriteCommandDurationLimitsPage и CommandDurationLimitPage вместе указывают на страницу режима, указывающую ограничение на длительность команды.

Reserved2

Зарезервировано для внутреннего использования.

CdbLength[2]

Указывает длину блока дескриптора команды в байтах для OperationCode, а если ServiceActionValid имеет значение TRUE, то действие, указанное полем ServiceAction .

Комментарии

Значения полей ReadWriteCommandDurationLimitsPage и CommandDurationLimitPage отражены в следующей таблице.

ReadWriteCommandDurationLimitsPage CommandDurationLimitPage Описание
0 0 Для этой команды не указана страница режима ограничения длительности команд.
1 0 Зарезервировано
0 1 Ограничение длительности команд: страница режима A
0 2 Страница ограничения длительности команд в режиме B
1 1 Страница ограничения длительности команд в режиме T2A
1 2 Страница ограничения длительности команд в режиме T2B
0 или 1 3 Зарезервировано

Требования

Требование Значение
Заголовок scsi.h