Поделиться через


структура DEVICE_LB_PROVISIONING_DESCRIPTOR (winioctl.h)

Структура DEVICE_LB_PROVISIONING_DESCRIPTOR является одной из структур результатов запроса, возвращаемых из запроса IOCTL_STORAGE_QUERY_PROPERTY . Эта структура содержит возможности тонкой подготовки для запоминающего устройства.

Синтаксис

typedef struct _DEVICE_LB_PROVISIONING_DESCRIPTOR {
  DWORD     Version;
  DWORD     Size;
  BYTE      ThinProvisioningEnabled : 1;
  BYTE      ThinProvisioningReadZeros : 1;
  BYTE      AnchorSupported : 3;
  BYTE      UnmapGranularityAlignmentValid : 1;
  BYTE      GetFreeSpaceSupported : 1;
  BYTE      MapSupported : 1;
  BYTE      Reserved1[7];
  DWORDLONG OptimalUnmapGranularity;
  DWORDLONG UnmapGranularityAlignment;
  DWORD     MaxUnmapLbaCount;
  DWORD     MaxUnmapBlockDescriptorCount;
} DEVICE_LB_PROVISIONING_DESCRIPTOR, *PDEVICE_LB_PROVISIONING_DESCRIPTOR;

Члены

Version

Содержит размер этой структуры в байтах. Значение этого элемента изменится по мере добавления элементов в структуру.

Size

Указывает общий размер возвращаемых данных в байтах. Сюда могут входить данные, которые соответствуют этой структуре.

ThinProvisioningEnabled

Состояние с поддержкой тонкой подготовки.

Значение Значение
0
Тонкая подготовка отключена.
1
Включена тонкая подготовка.

ThinProvisioningReadZeros

Операции чтения в несопоставленные регионы возвращают нули.

Значение Значение
0
Данные, считываемые из несопоставленных регионов, не определено.
1
Считывает возвращаемые нули.

AnchorSupported

Детерминированное чтение после поддержки обрезки.

Значение Значение
0
Детерминированное чтение после обрезки не поддерживается.
1
Поддерживается детерминированное чтение после обрезки.

UnmapGranularityAlignmentValid

Допустимость выравнивания гранулярности не на карте для устройства.

Значение Значение
0
Недопустимое выравнивание гранулярности карты.
1
Допустимое выравнивание гранулярности без сопоставления.

GetFreeSpaceSupported

MapSupported

Reserved1[7]

Зарезервировано.

OptimalUnmapGranularity

Оптимальное количество логических секторов для неназначения детализации для устройства.

UnmapGranularityAlignment

Текущее значение в логических секторах, заданное для выравнивания детализации не на карте на устройстве.

MaxUnmapLbaCount

Начиная с Windows 10. Максимальное количество LBA, которое можно распаковать в одной команде unmap в логических блоках.

MaxUnmapBlockDescriptorCount

Начиная с Windows 10: максимальное количество дескрипторов, разрешенных в одной команде unmap.

Комментарии

Эта структура возвращается из запроса IOCTL_STORAGE_QUERY_PROPERTY , если для элемента PropertyIdSTORAGE_PROPERTY_QUERY задано значение StorageDeviceLBProvisioningProperty.

Если UnmapGranularityAlignmentValid = 0, то любой код, использующий UnmapGranularityAlignment , должен предполагать, что он имеет значение 0.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Верхняя часть winioctl.h (включая Windows.h)

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

Структуры управления дисками

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY