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