структура PRI_FULL_STATUS_DESCRIPTOR_HEADER (scsi.h)
Структура PRI_FULL_STATUS_DESCRIPTOR_HEADER является первым членом PRI_FULL_STATUS_DESCRIPTOR структуры, которая используется для заполнения PRI_FULL_STATUS_LIST.
Синтаксис
typedef struct {
UCHAR ReservationKey[8];
UCHAR Reserved[4];
UCHAR ReservationHolder : 1;
UCHAR AllTargetPorts : 1;
UCHAR Reserved1 : 6;
UCHAR Type : 4;
UCHAR Scope : 4;
UCHAR Reserved2[4];
UCHAR RelativeTargetPortIdentifier[2];
UCHAR AdditionalDescriptorLength[4];
} PRI_FULL_STATUS_DESCRIPTOR_HEADER, *PPRI_FULL_STATUS_DESCRIPTOR_HEADER;
Члены
ReservationKey[8]
Ключ резервирования, в котором хранится постоянное резервирование.
Reserved[4]
Зарезервировано для внутреннего использования.
ReservationHolder
Владелец резервирования, установленный на один, указывает, что все инициаторы и целевые порты, описанные в этом дескрипторе состояния, регистрируются и являются постоянными владельцами резервирования. Владелец резервирования, равный нулю, указывает, что все инициаторы и целевые порты, описанные в этом дескрипторе состояния, зарегистрированы, но не являются постоянными владельцами резервирования.
AllTargetPorts
Значение AllTargetPorts нулю указывает, что этот дескриптор полного состояния представляет один порт инициатора и целевую пару портов. Значение AllTargetPorts указывает:
- Этот дескриптор полного состояния представляет все инициаторы и целевые порты, связанные с обоими:
- Порт инициатора SCSI задается TransportID
- Каждый целевой порт (T) находится на целевом устройстве SCSI
- Все инициаторы и целевые порты регистрируются с одним ключом резервирования
- Все инициаторы и целевые порты являются владельцами резервирования или не являются владельцами резервирования, как указано в поле "Заполнитель резервирования"
Reserved1
Зарезервировано для внутреннего использования.
Type
Если для зарезервированных задано одно значение, поле типа определяется в команде Persistent Reserve In с ServiceAction=RESERVATION_ACTION_READ_KEYS
. Если резервирования имеет значение нулю, содержимое поля типа не определено этим стандартом.
Scope
Если для зарезервированных задано одно значение, поле области определяется в команде Persistent Reserve In с ServiceAction=RESERVATION_ACTION_READ_KEYS
. Если резервирования имеет значение нулю, содержимое поля области не определено этим стандартом.
Reserved2[4]
Зарезервировано для внутреннего использования.
RelativeTargetPortIdentifier[2]
Определяет целевой порт относительно порта инициатора.
AdditionalDescriptorLength[4]
Поле AdditionalDescriptorLength указывает количество байтов, указанных ниже.
Требования
Требование | Ценность |
---|---|
заголовка | scsi.h |