STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR 構造体 (ntddstor.h)
STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR構造体は、デバイスのストレージ アクセスアラインメント記述子データを取得するために 、IOCTL_STORAGE_QUERY_PROPERTY 要求と組み合わせて使用されます。
構文
typedef struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR {
ULONG Version;
ULONG Size;
ULONG BytesPerCacheLine;
ULONG BytesOffsetForCacheAlignment;
ULONG BytesPerLogicalSector;
ULONG BytesPerPhysicalSector;
ULONG BytesOffsetForSectorAlignment;
} STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR, *PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR;
メンバー
Version
構造体STORAGE_ACCESS_ALIGNMENT_DESCRIPTORのサイズを格納します。 構造体にメンバーが追加されると、このメンバーの値が変更されます。
Size
記述子の合計サイズをバイト単位で指定します。
BytesPerCacheLine
デバイスのキャッシュ行内のバイト数。
BytesOffsetForCacheAlignment
キャッシュ アクセスの適切な配置に必要なアドレス オフセット (バイト単位)。
BytesPerLogicalSector
デバイスの論理セクター内のバイト数。
BytesPerPhysicalSector
デバイスの物理セクター内のバイト数。
BytesOffsetForSectorAlignment
最初の論理セクターが配置される最初の物理セクター内の論理セクター オフセット (バイト単位)。
例: Offset = 3 論理セクター
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|LBA |X|X|X|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|Physical | | |
|Sector | 0 | 1 | 2
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
この例では、BytesOffsetForSectorAlignment = 3 * size_of_logical_sector。
注釈
ストレージ クラス ドライバーは、データ転送操作のアクセスアラインメント情報を含むこの構造体を取得するために、I/O 制御コード IOCTL_STORAGE_QUERY_PROPERTY を使用してデバイス制御要求を発行します。 構造体は、バスのデバイス オブジェクトから取得することも、基になるバスに要求を転送する FDO から取得することもできます。
要件
要件 | 値 |
---|---|
Header | ntddstor.h (Ntddstor.h を含む) |