STORAGE_ADAPTER_DESCRIPTOR構造体 (winioctl.h)

IOCTL_STORAGE_QUERY_PROPERTY 制御コードと組み合わせて使用して、デバイスのストレージ アダプター記述子データを取得します。

構文

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

メンバー

Version

この構造体のサイズをバイト単位で格納します。 構造体にメンバーが追加されると、このメンバーの値が変更されます。

Size

返されるデータの合計サイズをバイト単位で指定します。 これには、この構造に続くデータが含まれる場合があります。

MaximumTransferLength

ストレージ アダプターが 1 回の操作で転送できる最大バイト数を指定します。

MaximumPhysicalPages

記憶域アダプターが 1 回の転送で管理できる不連続な物理ページの最大数を指定します (つまり、散布/収集サポートの範囲)。

AlignmentMask

転送の記憶域アダプターの配置要件を指定します。 アラインメント マスクは、転送操作にストレージ アダプターが必要とするバッファーのアラインメント制限を示します。 有効なマスク値は、Windows のさまざまなバージョンのメモリ マネージャーの特性によっても制限されます。

意味
0
バッファーは BYTE 境界に配置する必要があります。
1
バッファーは WORD の境界に配置する必要があります。
3
バッファーは、 DWORD32 境界に配置する必要があります。
7
バッファーは、 DWORD64 境界に配置する必要があります。

AdapterUsesPio

このメンバーが TRUE の場合、ストレージ アダプターはプログラムされた I/O (PIO) を使用し、データ バッファーの物理メモリにマップされたシステム空間仮想アドレスを使用する必要があります。 このメンバーが FALSE の場合、ストレージ アダプターは PIO を使用しません。

AdapterScansDown

このメンバーが TRUE の場合、ストレージ アダプターは BIOS デバイスをスキャンします。つまり、ストレージ アダプターは、最も低いデバイス番号ではなく、最も大きいデバイス番号でスキャンを開始します。 このメンバーが FALSE の場合、ストレージ アダプターはデバイス番号が最も小さい状態でスキャンを開始します。 このメンバーは、レガシ ミニポート ドライバー用に予約されています。

CommandQueueing

このメンバーが TRUE の場合、ストレージ アダプターは SCSI タグ付きキューや論理ユニットごとの内部キュー、または非 SCSI 同等のキューをサポートします。 このメンバーが FALSE の場合、ストレージ アダプターは SCSI タグ付きキューも論理ユニットごとの内部キューもサポートしません。

AcceleratedTransfer

このメンバーが TRUE の場合、ストレージ アダプターは I/O を高速化する方法として同期転送をサポートします。 このメンバーが FALSE の場合、ストレージ アダプターは I/O を高速化する方法として同期転送をサポートしません。

BusType

デバイスが接続されているバス の種類を 示す STORAGE_BUS_TYPE 型の値を指定します。

BusMajorVersion

ストレージ アダプターのメジャー バージョン番号 (存在する場合) を指定します。

BusMinorVersion

ストレージ アダプターのマイナー バージョン番号 (存在する場合) を指定します。

SrbType

HBA で使用される SCSI 要求ブロック (SRB) の種類を指定します。

意味
SRB_TYPE_SCSI_REQUEST_BLOCK
HBA は SCSI 要求ブロックを使用します。
SRB_TYPE_STORAGE_REQUEST_BLOCK
HBA は拡張 SCSI 要求ブロックを使用します。
 

このメンバーは、Windows 8 以降で有効です。

AddressType

HBA のアドレスの種類を指定します。

意味
STORAGE_ADDRESS_TYPE_BTL8
HBA では、8 ビット のバス、ターゲット、LUN のアドレス指定が使用されます。
 

このメンバーは、Windows 8 以降で有効です。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winioctl.h (Windows.h を含む)

関連項目

ディスク管理の構造体

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_ID_DESCRIPTOR