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
第一個實體扇區內的邏輯扇區位移,其中放置第一個邏輯扇區,以位元組為單位。
範例:位移 = 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 擷取 結構,以將要求轉送至基礎總線。
規格需求
需求 | 值 |
---|---|
標頭 | ntddstor.h (包含 Ntddstor.h) |