структура 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
Состояние с поддержкой тонкой подготовки.
Значение | Значение |
---|---|
|
Тонкая подготовка отключена. |
|
Включена тонкая подготовка. |
ThinProvisioningReadZeros
Операции чтения в несопоставленные регионы возвращают нули.
Значение | Значение |
---|---|
|
Данные, считываемые из несопоставленных регионов, не определено. |
|
Считывает возвращаемые нули. |
AnchorSupported
Детерминированное чтение после поддержки обрезки.
Значение | Значение |
---|---|
|
Детерминированное чтение после обрезки не поддерживается. |
|
Поддерживается детерминированное чтение после обрезки. |
UnmapGranularityAlignmentValid
Допустимость выравнивания гранулярности не на карте для устройства.
Значение | Значение |
---|---|
|
Недопустимое выравнивание гранулярности карты. |
|
Допустимое выравнивание гранулярности без сопоставления. |
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) |