INQUIRYDATA 结构 (scsi.h)
INQUIRYDATA 结构与 TapeMiniExtensionInit 和 TapeMiniVerifyInquiry 例程结合使用,以报告与磁带设备关联的 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 | WORM |
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 时,操作系统支持在 CDB () 命令描述符块的控制字节中将 NACA 位设置为 1。 值为零表示系统不支持将 NACA 位设置为 1。 有关 CDB 中 NACA 位和控制字节的功能的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。
ReservedBit
保留。
AERC
指示当设置为 1 时,目标设备支持异步事件报告功能。 值为零表示目标设备不支持异步事件报告。 异步事件报告支持的详细信息是特定于协议的。 有关异步偶数报告的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。
AdditionalLength
指定 CDB) (命令描述符块的参数的长度(以字节为单位)。
Reserved[2]
保留。
SoftReset
指示当设置为 1 时,目标设备支持软重置。 值为零表示目标不支持软重置。
CommandQueue
指示当设置为 1 时,目标设备支持此逻辑单元的命令队列。 但是,值为零并不一定表示目标设备不支持命令队列。 这些值的含义取决于 SCSI 查询数据中存在的值。 有关命令队列位的含义的信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。
Reserved2
保留。
LinkedCommands
指示当设置为 1 时,操作系统支持链接的命令。 值为零表示操作系统不支持链接的命令。
Synchronous
指示当设置为 1 时,目标支持同步数据传输。 值为零表示目标不支持同步数据传输。
Wide16Bit
指示当设置为 1 时,目标支持 16 位宽数据传输。 值为零表示设备不支持 16 位宽数据传输。
Wide32Bit
指示当设置为 1 时,目标支持 32 位宽数据传输。 值为零表示设备不支持 32 位宽数据传输。
RelativeAddressing
指示当设置为 1 时,操作系统支持相对寻址模式。 值为零表示操作系统不支持相对寻址。
VendorId[8]
包含八个字节的 ASCII 数据,用于标识产品的供应商。
ProductId[16]
包含 16 个字节的 ASCII 数据,这些数据指示供应商定义的产品 ID。 数据应在此字段中左对齐,未使用的字节用 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
指示当设置为 1 时,目标设备支持 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 个或更多个端口,) 设备符合 SCSI-3 多端口设备要求。 值为零表示此设备具有单个端口,并且不实现多端口要求。
ReservedBit2
保留。
EnclosureServices
当设置为 1 时,指示设备包含嵌入式机箱服务组件。 值为零表示设备不包含嵌入式机箱服务组件。
ReservedBit3
保留。
TransferDisable
指示当设置为 1 时,目标支持 SCSI CONTINUE TASK 和 TARGET TRANSFER DISABLE 消息。 值为零表示设备不支持其中一条或两条消息。 有关 CONTINUE TASK 和 TARGET TRANSFER DISABLE 消息的详细信息,请参阅 SCSI 主命令 - 2 (SPC-2) 规范。
要求
要求 | 值 |
---|---|
Header | scsi.h (包括 Scsi.h、Minitape.h、Storport.h) |