共用方式為


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

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

AdapterScansDown

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

CommandQueueing

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

AcceleratedTransfer

指出 HBA 何時 TRUE 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 (include Ntddstor.h)

另請參閱

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR