INQUIRYDATA 結構 (scsi.h)

IN QUERYDATA 結構會與TapeMiniExtensionInitTapeMiniVerifyIn query例程搭配使用,以報告與磁帶裝置相關聯的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

表示當設定為一個時,操作系統支援將NACA位設定為命令描述元區塊控制位元組中的一個, (CDB) 。 值為零表示系統不支援將 NACA 位設定為一個。 如需 CDB 中 NACA 位和控件位元組函式的詳細資訊,請參閱 SCSI 主要命令 - 2 (SPC-2) 規格。

ReservedBit

保留的。

AERC

表示當設定為一個時,目標裝置支援異步事件報告功能。 值為零表示目標裝置不支援異步事件報告。 異步事件報告支持的詳細數據是通訊協定特定的。 如需異步甚至報告的詳細資訊,請參閱 SCSI 主要命令 - 2 (SPC-2) 規格。

AdditionalLength

指定命令描述元區塊參數的位元組長度, (CDB) 。

Reserved[2]

保留的。

SoftReset

表示當設定為一個時,目標裝置支援軟重設。 值為零表示目標不支援虛重設。

CommandQueue

表示當設定為一個時,目標裝置支援此邏輯單元的命令佇列。 不過,值為零不一定表示目標裝置不支援命令佇列。 這些值的意義取決於 SCSI 查詢數據中存在的值。 如需命令佇列位意義的相關信息,請參閱 SCSI 主要命令 - 2 (SPC-2) 規格。

Reserved2

保留的。

LinkedCommands

表示當設定為一個時,操作系統支持連結的命令。 值為零表示操作系統不支援連結的命令。

Synchronous

表示當設定為 1 時,目標支援同步資料傳輸。 值為零表示目標不支援同步數據傳輸。

Wide16Bit

表示當設定為 1 時,目標支援 16 位寬數據傳輸。 值為零表示裝置不支援16位寬資料傳輸。

Wide32Bit

表示當設定為 1 時,目標支援 32 位寬的數據傳輸。 值為零表示裝置不支援32位寬資料傳輸。

RelativeAddressing

表示當設定為 1 時,操作系統支援相對尋址模式。 值為零表示操作系統不支持相對尋址。

VendorId[8]

包含八個字節的 ASCII 數據,可識別產品的廠商。

ProductId[16]

包含十六個字節的 ASCII 數據,指出廠商所定義的產品識別碼。 此欄位內的數據應靠左對齊,且未使用的位元組會填入 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

表示當設定為一時,目標支援要求,並認可次要總線上的數據傳輸交握。 值為零表示目標不支援此函式。

MediumChanger

表示當設定為一個時,裝置會內嵌或附加至中型傳輸元素。 值為零表示裝置未內嵌或附加至中型傳輸元素。

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

TapeMiniVerifyIn查詢