структура 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 |