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


структура 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 путем записи эксклюзивных резервирований типов и эксклюзивных резервирований типов доступа. Сервер устройств не предоставляет сведения о том, разрешены ли следующие команды в резервированиях типов "Монопольная запись":
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. ПОДДЕРЖИВАЕМЫЕ КОДЫ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТОМ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
2 Сервер устройства позволяет выполнять команду TEST UNIT READY путем записи эксклюзивных резервирований типов и эксклюзивных резервирований типов доступа. Сервер устройств не разрешает выполнение следующих команд с помощью резервирования монопольного типа записи:
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. ПОДДЕРЖИВАЕМЫЕ КОДЫ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТОМ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
3 Сервер устройств позволяет выполнять команду TEST UNIT READY путем записи эксклюзивных и эксклюзивных резервирований типов доступа. И следующие команды с помощью записи эксклюзивных резервирований типов:
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. ПОДДЕРЖИВАЕМЫЕ КОДЫ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТОМ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
4 Сервер устройств позволяет выполнять команду TEST UNIT READY путем записи постоянных резервирований монопольного и монопольного доступа. И следующие команды с помощью записи эксклюзивных резервирований сохраняются:
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. ПОДДЕРЖИВАЕМЫЕ КОДЫ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТОМ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
5 Сервер устройств позволяет:
  1. Следующие команды путем записи постоянных резервирований монопольного и монопольного доступа:
    1. ПРОВЕРКА ГОТОВНОСТИ К УРОКУ
    2. ПОДДЕРЖИВАЕМЫЕ КОДЫ ОПЕРАЦИЙ ОТЧЕТА
    3. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТОМ
  2. Следующие команды с помощью записи эксклюзивных постоянных резервирований:
    1. КОНТРОЛЬ РЕЖИМА
    2. АТРИБУТ READ
    3. READ BUFFER(10)
    4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
    5. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
Все остальные Зарезервировано

TypeMaskValid

Содержит битовую маску, указывающую постоянные типы резервирования, поддерживаемые сервером устройств.

Reserved3

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

WriteExclusive

Указывает, что сервер устройства поддерживает монопольный тип постоянного резервирования для записи.

Reserved4

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

ExclusiveAccess

Указывает, что сервер устройств поддерживает тип постоянного резервирования монопольного доступа.

Reserved5

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

WriteExclusiveRegistrantsOnly

Указывает, что сервер устройства поддерживает монопольную запись — постоянный тип резервирования только для регистрантов.

ExclusiveAccessRegistrantsOnly

Указывает, что сервер устройства поддерживает монопольный доступ — регистраторы могут использовать только постоянный тип резервирования.

WriteExclusiveAllRegistrants

Указывает, что сервер устройства поддерживает монопольную запись — постоянный тип резервирования для всех регистрантов.

ExclusiveAccessAllRegistrants

Указывает, что сервер устройства поддерживает монопольный доступ — все регистранты постоянного типа резервирования.

Reserved6

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

Reserved7[2]

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

Требования

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