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


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

TypeMaskValid

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

Reserved3

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

WriteExclusive

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

Reserved4

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

ExclusiveAccess

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

Reserved5

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

WriteExclusiveRegistrantsOnly

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

ExclusiveAccessRegistrantsOnly

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

WriteExclusiveAllRegistrants

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

ExclusiveAccessAllRegistrants

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

Reserved6

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

Reserved7[2]

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

Требования

Требование Ценность
заголовка storport.h