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


структура 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 и поля CommandDurationLimitP age вместе указывают страницу режима, указывающую ограничение длительности команды.

MultipleLogicalUnits

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

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

ReadWriteCommandDurationLimitsPage

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

Reserved2

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

CdbLength[2]

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

Замечания

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

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

Требования

Требование Ценность
заголовка scsi.h