INQUIRYDATA 结构 (scsi.h)

INQUIRYDATA 结构与 TapeMiniExtensionInit 结合使用,TapeMiniVerifyIn 查询 例程来报告与磁带设备关联的 SCSI 查询数据。

语法

typedef struct _INQUIRYDATA {
  UCHAR              DeviceType : 5;
  UCHAR              DeviceTypeQualifier : 3;
  UCHAR              DeviceTypeModifier : 7;
  UCHAR              RemovableMedia : 1;
  UCHAR              Versions;
  UCHAR              ResponseDataFormat : 4;
  UCHAR              HiSupport : 1;
  UCHAR              NormACA : 1;
  UCHAR              ReservedBit : 1;
  UCHAR              AERC : 1;
  UCHAR              AdditionalLength;
  UCHAR              Reserved[2];
  UCHAR              SoftReset : 1;
  UCHAR              CommandQueue : 1;
  UCHAR              Reserved2 : 1;
  UCHAR              LinkedCommands : 1;
  UCHAR              Synchronous : 1;
  UCHAR              Wide16Bit : 1;
  UCHAR              Wide32Bit : 1;
  UCHAR              RelativeAddressing : 1;
  UCHAR              VendorId[8];
  UCHAR              ProductId[16];
  UCHAR              ProductRevisionLevel[4];
  UCHAR              VendorSpecific[20];
  UCHAR              Reserved3[2];
  VERSION_DESCRIPTOR VersionDescriptors[8];
  UCHAR              Reserved4[30];
} INQUIRYDATA, *PINQUIRYDATA;

成员

DeviceType

指定设备的类型。 DeviceType 可以是以下值之一,scsi.h中定义。

价值 意义
DIRECT_ACCESS_DEVICE 0x00 磁盘
SEQUENTIAL_ACCESS_DEVICE 0x01 磁带设备
PRINTER_DEVICE 0x02 打印机
PROCESSOR_DEVICE 0x03 扫描仪、打印机等
WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04 蠕虫
READ_ONLY_DIRECT_ACCESS_DEVICE 0x05 CD-ROM
SCANNER_DEVICE 0x06 扫描器
OPTICAL_DEVICE 0x07 光盘
MEDIUM_CHANGER 0x08 点唱机
COMMUNICATION_DEVICE 0x09 网络设备
ARRAY_CONTROLLER_DEVICE 0x0C 阵列控制器
SCSI_ENCLOSURE_DEVICE 0x0D SCSI 机箱设备
REDUCED_BLOCK_DEVICE 0x0E 例如,1394 磁盘
OPTICAL_CARD_READER_WRITER_DEVICE 0x0F 光学卡读卡器/写入器
BRIDGE_CONTROLLER_DEVICE 0x10 桥控制器
OBJECT_BASED_STORAGE_DEVICE 0x11 OSD 设备
HOST_MANAGED_ZONED_BLOCK_DEVICE 0x14 主机托管区域块设备
UNKNOWN_OR_NO_DEVICE 0x1F 未知或无设备类型
LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F 逻辑单元不存在

DeviceTypeQualifier

DeviceType的限定符。 此成员可以采用的值如下所示:

价值 意义
DEVICE_QUALIFIER_ACTIVE 作系统支持设备,并且设备存在。
DEVICE_QUALIFIER_NOT_ACTIVE 作系统支持设备,但设备不存在。
DEVICE_QUALIFIER_NOT_SUPPORTED 作系统不支持此设备。

DeviceTypeModifier

指定 SCSI 定义的设备类型修饰符(如果有)。 如果不存在设备类型修饰符,则此成员为零。

RemovableMedia

指示当 TRUE时,媒体是可移动的,当 FALSE 媒体不可移动时。

Versions

指示此数据符合的查询数据标准的版本。 有关此字段中允许的版本值的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

ResponseDataFormat

指示控制响应数据格式的 SCSI 标准。 此成员的值必须为 2。

HiSupport

指示当为零时,目标不使用分层寻址模型将 LUN 分配到逻辑单元。 值为 1 表示目标使用分层寻址模型将 LUN 分配到逻辑单元。

NormACA

指示当设置为 1 时,作系统支持将 NACA 位设置为命令描述符块(CDB)的控制字节中的一个。 值为零表示系统不支持将 NACA 位设置为 1。 有关 CDB 中 NACA 位和控制字节的功能的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

ReservedBit

保留。

AERC

指示目标设备在设置为 1 时支持异步事件报告功能。 值为零表示目标设备不支持异步事件报告。 异步事件报告支持的详细信息特定于协议。 有关异步甚至报告的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

AdditionalLength

指定命令描述符块(CDB)的参数长度(以字节为单位)。

Reserved[2]

保留。

SoftReset

指示目标设备支持软重置时设置为一个。 值为零表示目标不支持软重置。

CommandQueue

指示当设置为一个时,目标设备支持此逻辑单元的命令队列。 但是,值为零不一定指示目标设备不支持命令队列。 这些值的含义取决于 SCSI 查询数据中存在的值。 有关命令队列位的含义的信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

Reserved2

保留。

LinkedCommands

指示作系统支持链接命令时设置为一个。 值为零表示作系统不支持链接命令。

Synchronous

指示目标在设置为一个时支持同步数据传输。 值为零表示目标不支持同步数据传输。

Wide16Bit

指示当设置为 1 时,目标支持 16 位宽数据传输。 值为零表示设备不支持 16 位宽数据传输。

Wide32Bit

指示当设置为 1 时,目标支持 32 位宽数据传输。 值为零表示设备不支持 32 位宽数据传输。

RelativeAddressing

指示当设置为 1 时,作系统支持相对寻址模式。 值为零表示作系统不支持相对寻址。

VendorId[8]

包含 8 个字节的 ASCII 数据,用于标识产品的供应商。

ProductId[16]

包含指示供应商定义的产品 ID 的 ASCII 数据的 16 字节。 数据应在此字段中保持左对齐,并且填充了 ASCII 空白的未使用的字节。

ProductRevisionLevel[4]

包含四个字节的 ASCII 数据,用于指示供应商定义的产品修订级别。

VendorSpecific[20]

包含 20 个特定于供应商的数据。

Reserved3[2]

保留。

VersionDescriptors[8]

定义 UCHAR 成员 VersionDescriptors[8]

Reserved4[30]

保留。

言论

在 scsi.h 中的结构定义中的 #else 条件指令中定义的其他成员。

ANSIVersion

指示此数据符合的查询数据的 ANSI 版本。 有关此字段中允许的版本值的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

ECMAVersion

指示此数据符合的查询数据的 ECMA 版本。 有关此字段中允许的版本值的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

ISOVersion

指示此数据符合的查询数据的 ISO 版本。 有关此字段中允许的版本值的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

TerminateTask

指示目标设备支持 SCSI TERMINATE TASK 任务管理功能时设置为 SCSI TERMINATE TASK 任务管理功能。 值为零表示目标设备不支持 TERMINATE TASK 任务管理功能。

Addr16

指示当设置为 1 时,目标支持 16 位宽 SCSI 地址。 值为零表示设备不支持 32 位宽 SCSI 地址。

Addr32

指示当设置为 1 时,目标支持 32 位宽 SCSI 地址。 值为零表示设备不支持 32 位宽 SCSI 地址。

AckReqQ

指示目标在设置为 1 时支持请求并在辅助总线上确认数据传输握手。 值为零表示目标不支持此函数。

MediumChanger

指示设备嵌入或附加到中等传输元素时设置为 1。 值为零表示设备未嵌入或附加到中等传输元素中。

MultiPort

指示目标设备设置为符合 SCSI-3 多端口设备要求的多端口(2 个或多个端口)设备。 值为零表示此设备具有单个端口,并且不实现多端口要求。

ReservedBit2

保留。

EnclosureServices

指示设备包含嵌入式机箱服务组件时设置为一个。 值为零表示设备不包含嵌入式机箱服务组件。

ReservedBit3

保留。

TransferDisable

指示当设置为 SCSI CONTINUE TASK 和 TARGET TRANSFER DISABLE 消息时,目标支持 SCSI CONTINUE TASK 和 TARGET TRANSFER DISABLE 消息。 值为零表示设备不支持其中一条或两条消息。 有关 CONTINUE TASK 和 TARGET TRANSFER DISABLE 消息的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。

要求

要求 价值
标头 scsi.h (包括 Scsi.h、Minitape.h、Storport.h)

另请参阅

TapeMiniExtensionInit

TapeMiniVerifyInquiry