структура PRI_REPORT_CAPABILITIES (storport.h)
Структура PRI_REPORT_CAPABILITIES содержит сведения о функциях постоянного резервирования, возвращаемые в ответ на команду Persistent Reserve In с ServiceAction=RESERVATION_ACTION_REPORT_CAPABILITIES
.
Синтаксис
typedef struct {
UCHAR Length[2];
UCHAR PersistThroughPowerLossCapable : 1;
UCHAR Reserved : 1;
UCHAR AllTargetPortsCapable : 1;
UCHAR SpecifyInitiatorPortsCapable : 1;
UCHAR CompatibleReservationHandling : 1;
UCHAR Reserved1 : 2;
UCHAR ReplaceLostReservationCapable : 1;
UCHAR PersistThroughPowerLossActivated : 1;
UCHAR Reserved2 : 3;
UCHAR AllowCommands : 3;
UCHAR TypeMaskValid : 1;
UCHAR Reserved3 : 1;
UCHAR WriteExclusive : 1;
UCHAR Reserved4 : 1;
UCHAR ExclusiveAccess : 1;
UCHAR Reserved5 : 1;
UCHAR WriteExclusiveRegistrantsOnly : 1;
UCHAR ExclusiveAccessRegistrantsOnly : 1;
UCHAR WriteExclusiveAllRegistrants : 1;
UCHAR ExclusiveAccessAllRegistrants : 1;
UCHAR Reserved6 : 7;
UCHAR Reserved7[2];
} PRI_REPORT_CAPABILITIES, *PPRI_REPORT_CAPABILITIES;
Члены
Length[2]
Размер этой структуры.
PersistThroughPowerLossCapable
Указывает, что сервер устройства поддерживает сохранение с помощью события потери питания.
Reserved
Зарезервировано для внутреннего использования.
AllTargetPortsCapable
Указывает, что сервер устройств поддерживает все целевые порты.
SpecifyInitiatorPortsCapable
Указывает, что сервер устройства поддерживает указание портов инициатора.
CompatibleReservationHandling
Указывает, что сервер устройства обратно совместим с SPC-2.
Reserved1
Зарезервировано для внутреннего использования.
ReplaceLostReservationCapable
Указывает, что сервер устройства поддерживает замену потерянного резервирования.
PersistThroughPowerLossActivated
Указывает, что активирована возможность сохранения при отключении питания.
Reserved2
Зарезервировано для внутреннего использования.
AllowCommands
Указывает, разрешены ли определенные команды через определенные типы постоянных резервирований.
Значение | Описание |
---|---|
0 | Сведения о том, разрешены ли определенные команды через определенные типы постоянных резервирований, не предоставляются. |
1 | Сервер устройства позволяет выполнять команду TEST UNIT READY путем записи эксклюзивных резервирований типов и эксклюзивных резервирований типов доступа. Сервер устройств не предоставляет сведения о том, разрешены ли следующие команды в резервированиях типов "Монопольная запись":
|
2 | Сервер устройства позволяет выполнять команду TEST UNIT READY путем записи эксклюзивных резервирований типов и эксклюзивных резервирований типов доступа. Сервер устройств не разрешает выполнение следующих команд с помощью резервирования монопольного типа записи:
|
3 | Сервер устройств позволяет выполнять команду TEST UNIT READY путем записи эксклюзивных и эксклюзивных резервирований типов доступа. И следующие команды с помощью записи эксклюзивных резервирований типов:
|
4 | Сервер устройств позволяет выполнять команду TEST UNIT READY путем записи постоянных резервирований монопольного и монопольного доступа. И следующие команды с помощью записи эксклюзивных резервирований сохраняются:
|
5 | Сервер устройств позволяет:
|
Все остальные | Зарезервировано |
TypeMaskValid
Содержит битовую маску, указывающую постоянные типы резервирования, поддерживаемые сервером устройств.
Reserved3
Зарезервировано для внутреннего использования.
WriteExclusive
Указывает, что сервер устройства поддерживает монопольный тип постоянного резервирования для записи.
Reserved4
Зарезервировано для внутреннего использования.
ExclusiveAccess
Указывает, что сервер устройств поддерживает тип постоянного резервирования монопольного доступа.
Reserved5
Зарезервировано для внутреннего использования.
WriteExclusiveRegistrantsOnly
Указывает, что сервер устройства поддерживает монопольную запись — постоянный тип резервирования только для регистрантов.
ExclusiveAccessRegistrantsOnly
Указывает, что сервер устройства поддерживает монопольный доступ — регистраторы могут использовать только постоянный тип резервирования.
WriteExclusiveAllRegistrants
Указывает, что сервер устройства поддерживает монопольную запись — постоянный тип резервирования для всех регистрантов.
ExclusiveAccessAllRegistrants
Указывает, что сервер устройства поддерживает монопольный доступ — все регистранты постоянного типа резервирования.
Reserved6
Зарезервировано для внутреннего использования.
Reserved7[2]
Зарезервировано для внутреннего использования.
Требования
Требование | Значение |
---|---|
Заголовок | storport.h |