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 のさまざまなバージョンのメモリ マネージャーの特性によっても制限されます。
値 | 意味 |
---|---|
|
バッファーは BYTE 境界に配置する必要があります。 |
|
バッファーは WORD の境界に配置する必要があります。 |
|
バッファーは、 DWORD32 境界に配置する必要があります。 |
|
バッファーは、 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) の種類を指定します。
値 | 意味 |
---|---|
|
HBA は SCSI 要求ブロックを使用します。 |
|
HBA は拡張 SCSI 要求ブロックを使用します。 |
このメンバーは、Windows 8 以降で有効です。
AddressType
HBA のアドレスの種類を指定します。
値 | 意味 |
---|---|
|
HBA では、8 ビット のバス、ターゲット、LUN のアドレス指定が使用されます。 |
このメンバーは、Windows 8 以降で有効です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winioctl.h (Windows.h を含む) |