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


структура RS_COMMAND_DESCRIPTOR (storport.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 Эта команда влияет на несколько логических единиц, содержащихся на этом целевом устройстве, но не на все.
3 Эта команда влияет на все логические единицы, содержащиеся в этом целевом устройстве.

ReadWriteCommandDurationLimitsPage

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

Reserved2

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

CdbLength[2]

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

Комментарии

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

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

Требования

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