структура 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.

Комментарии

Драйверы класса хранилища выдают запрос на управление устройством с IOCTL_STORAGE_QUERY_PROPERTY кода элемента управления ввода-вывода, чтобы получить эту структуру, которая содержит сведения о выравнивании доступа для операций передачи данных. Структуру можно получить либо из объекта устройства для шины, либо из FDO, который перенаправит запрос в базовую шину.

Требования

Требование Значение
Заголовок ntddstor.h (включая Ntddstor.h)

См. также раздел

IOCTL_STORAGE_QUERY_PROPERTY