PRI_REPORT_CAPABILITIES结构 (scsi.h)

PRI_REPORT_CAPABILITIES 结构包含有关持久保留功能的信息,这些功能在响应具有 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 ATTRIBUTE
  3. 读取缓冲区(10)
  4. 接收诊断结果
  5. 报告支持的作代码
  6. 报告支持的任务管理功能
  7. 读取缺陷数据
2 设备服务器允许 TEST UNIT READY 命令通过写入独占类型预留和独占访问类型预留。 设备服务器不允许通过写入独占类型预留执行以下命令:
  1. 模式感知
  2. READ ATTRIBUTE
  3. 读取缓冲区(10)
  4. 接收诊断结果
  5. 报告支持的作代码
  6. 报告支持的任务管理功能
  7. 读取缺陷数据
3 设备服务器允许 TEST UNIT READY 命令通过写入独占和独占访问类型预留。 通过写入独占类型预留的以下命令:
  1. 模式感知
  2. READ ATTRIBUTE
  3. 读取缓冲区(10)
  4. 接收诊断结果
  5. 报告支持的作代码
  6. 报告支持的任务管理功能
  7. 读取缺陷数据
4 设备服务器允许 TEST UNIT READY 命令通过写入独占和独占访问永久性预留。 通过写入独占保留的以下命令:
  1. 模式感知
  2. READ ATTRIBUTE
  3. 读取缓冲区(10)
  4. 接收诊断结果
  5. 报告支持的作代码
  6. 报告支持的任务管理功能
  7. 读取缺陷数据
5 设备服务器允许:
  1. 以下命令通过写入独占和独占访问永久性预留:
    1. 测试单元就绪
    2. 报告支持的作代码
    3. 报告支持的任务管理功能
  2. 通过写入独占永久性预留的以下命令:
    1. 模式感知
    2. READ ATTRIBUTE
    3. 读取缓冲区(10)
    4. 接收诊断结果
    5. 读取缺陷数据
所有其他内容 保留

TypeMaskValid

包含一个位掩码,指示设备服务器支持的持久性预留类型。

Reserved3

保留供内部使用。

WriteExclusive

指示设备服务器支持写入独占永久性预留类型。

Reserved4

保留供内部使用。

ExclusiveAccess

指示设备服务器支持独占访问持久性预留类型。

Reserved5

保留供内部使用。

WriteExclusiveRegistrantsOnly

指示设备服务器支持写入独占 – 注册者仅持久预留类型。

ExclusiveAccessRegistrantsOnly

指示设备服务器支持独占访问 – 注册者仅持久预留类型。

WriteExclusiveAllRegistrants

指示设备服务器支持写入独占 – 所有注册者持久预留类型。

ExclusiveAccessAllRegistrants

指示设备服务器支持独占访问 – 所有注册者持久预留类型。

Reserved6

保留供内部使用。

Reserved7[2]

保留供内部使用。

要求

要求 价值
标头 scsi.h