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 포함) |