STORAGE_DEVICE_DESCRIPTOR結構 (winioctl.h)

IOCTL_STORAGE_QUERY_PROPERTY 控件程式代碼搭配使用,以擷取裝置的記憶體裝置描述元數據。

語法

typedef struct _STORAGE_DEVICE_DESCRIPTOR {
  DWORD            Version;
  DWORD            Size;
  BYTE             DeviceType;
  BYTE             DeviceTypeModifier;
  BOOLEAN          RemovableMedia;
  BOOLEAN          CommandQueueing;
  DWORD            VendorIdOffset;
  DWORD            ProductIdOffset;
  DWORD            ProductRevisionOffset;
  DWORD            SerialNumberOffset;
  STORAGE_BUS_TYPE BusType;
  DWORD            RawPropertiesLength;
  BYTE             RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;

成員

Version

包含這個 結構的大小,以位元組為單位。 當成員加入至 結構時,這個成員的值將會變更。

Size

指定描述項的大小總計,以位元組為單位,其中可能包含廠商標識碼、產品標識碼、產品修訂、裝置序號字串,以及附加至 結構的總線特定數據。

DeviceType

指定由 Small Computer Systems Interface (SCSI) 規格所定義的裝置類型。

DeviceTypeModifier

指定裝置類型修飾詞,如果有的話,如 SCSI 規格所定義。 如果沒有裝置類型修飾詞存在,這個成員為零。

RemovableMedia

指出如果有任何可移動) ,裝置的媒體 (為 TRUE 。 如果裝置沒有媒體,則應該忽略此成員。 當 FALSE 時,裝置的媒體不會卸除。

CommandQueueing

指出裝置何時支援多個未處理的命令, (SCSI 標記佇列或對等) 。 當 為 FALSE 時,裝置不支援 SCSI 標記的佇列或對等專案。

VendorIdOffset

指定結構開頭到包含裝置廠商標識碼之 Null 終止 ASCII 字串的位元組位移。 如果裝置沒有廠商標識碼,則此成員為零。

ProductIdOffset

指定結構開頭到包含裝置產品標識碼之 Null 終止 ASCII 字串的位元組位移。 如果裝置沒有產品標識碼,則此成員為零。

ProductRevisionOffset

指定結構開頭到包含裝置產品修訂字串之 Null 終止 ASCII 字串的位元組位移。 如果裝置沒有產品修訂字串,則此成員為零。

SerialNumberOffset

指定結構開頭到包含裝置序號之 Null 終止 ASCII 字串的位元組位移。 如果裝置沒有序號,則此成員為零。

BusType

指定類型 為 STORAGE_BUS_TYPE 的列舉值,指出裝置所連接的總線類型。 這應該在此結構結尾 (如有的話) 用來解譯原始裝置屬性。

RawPropertiesLength

指出已附加至此描述項之總線特定數據的位元元組數目。

RawDeviceProperties[1]

包含長度為一的陣列,做為總線特定屬性數據之第一個字節的佔位元。

備註

應用程式可以發出IOCTL_STORAGE_QUERY_PROPERTY控件程式代碼,為輸出緩衝區傳遞STORAGE_DESCRIPTOR_HEADER結構,然後使用STORAGE_DESCRIPTOR_HEADER結構的傳回 Size 成員來配置適當大小的緩衝區,以判斷所需的緩衝區大小。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 winioctl.h (包含 Windows.h)

另請參閱

磁碟管理結構

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR