STORAGE_ADAPTER_DESCRIPTOR 結構 (ntddstor.h)

STORAGE_ADAPTER_DESCRIPTOR 結構會與IOCTL_STORAGE_QUERY_PROPERTY要求搭配使用,以擷取裝置的記憶體配接器描述元數據。

語法

typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
  ULONG   Version;
  ULONG   Size;
  ULONG   MaximumTransferLength;
  ULONG   MaximumPhysicalPages;
  ULONG   AlignmentMask;
  BOOLEAN AdapterUsesPio;
  BOOLEAN AdapterScansDown;
  BOOLEAN CommandQueueing;
  BOOLEAN AcceleratedTransfer;
#if ...
  BOOLEAN BusType;
#else
  UCHAR   BusType;
#endif
  USHORT  BusMajorVersion;
  USHORT  BusMinorVersion;
  UCHAR   SrbType;
  UCHAR   AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;

成員

Version

包含結構 STORAGE_ADAPTER_DESCRIPTOR的版本。 當成員加入結構時,這個成員的值將會變更。

Size

指定描述項的大小總計,以位元組為單位。

MaximumTransferLength

指定主機總線配接器 (HBA) 可以在單一作業中傳輸的最大位元元組數。

MaximumPhysicalPages

指定 HBA 可以在單一傳輸 (中管理的最大不連續實體頁面數目,換句話說,其散佈/收集支援的範圍) 。

AlignmentMask

指定 HBA 的傳輸對齊需求。 儲存類別驅動程式會將其裝置物件中的 AlignmentRequirement 字段設定為此值。 對齊遮罩表示 HBA 用於傳輸作業所需的緩衝區對齊限制。 有效的遮罩值為 0 (位元組對齊) 、1 個 (字對齊) 、3 (DWORD 對齊) ,以及 7 個 (雙 DWORD 對齊) 。

AdapterUsesPio

指出 HBA 使用程式化輸入/輸出 (PIO) ,且需要使用對應至實體記憶體的系統空間虛擬位址來進行數據緩衝區的時機。 當為 FALSE 時,HBA 不會使用 PIO。

AdapterScansDown

指出 HBA 掃描 BIOS 裝置的時機 ,也就是說,HBA 會以最高的裝置號碼開始掃描,而不是最低。 當為 FALSE 時,HBA 會以最低的裝置號碼開始掃描。 此成員會保留給舊版迷你埠驅動程式。

CommandQueueing

指出 HBA 支援 SCSI 標記的佇列和/或每個邏輯單元內部佇列,或非 SCSI 對等佇列的 TRUE。 當為 FALSE 時,HBA 不支援 SCSI 標記的佇列,也不支援每個邏輯單元內部佇列。

AcceleratedTransfer

指出 HBA 支援同步傳輸 的時機, 以加速 I/O 的方式。 當為 FALSE 時,HBA 不支援以加速 I/O 的方式進行同步傳輸。

BusType

指定類型 STORAGE_BUS_TYPE 的值,指出裝置所連線的總線類型。

BusMajorVersion

指定 HBA 的主要版本號碼,如果有的話。

BusMinorVersion

指定 HBA 的任何次要版本號碼。

SrbType

指定 HBA 所使用的 SCSI 要求區塊 (SRB) 類型。 從 Windows 8 開始,這個成員是有效的。

意義
SRB_TYPE_SCSI_REQUEST_BLOCK HBA 使用 SCSI 要求區塊。
SRB_TYPE_STORAGE_REQUEST_BLOCK HBA 使用擴充的SCSI要求區塊。

AddressType

指定 HBA 的地址類型。 從 Windows 8 開始,這個成員是有效的。

意義
STORAGE_ADDRESS_TYPE_BTL8 HBA 使用 8 位總線、目標和 LUN 尋址。

備註

記憶體類別驅動程式會發出具有 I/O 控制程式代碼的裝置控制要求 ,IOCTL_STORAGE_QUERY_PROPERTY 擷取此結構,其中包含 HBA 中用於數據傳輸作業的組態資訊。 結構可以從總線的裝置物件,或從功能裝置物件擷取, (FDO) ,將要求轉送至基礎總線。

如果支援同步傳輸的 HBA 上發生過多的通訊協定錯誤, (AcceleratedTransferTRUE) ,則記憶體類別驅動程式可以在 SRB 中設定SRB_FLAGS_DISABLE_SYNCH_TRANSFER來停用同步傳輸。

規格需求

需求
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR