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 检索结构,该对象将请求转发到基础总线。
要求
要求 | 价值 |
---|---|
标头 | ntddstor.h (包括 Ntddstor.h) |