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 的最大数目。

MaxUnmapBlockDescriptorCount

从 Windows 10 开始:单个 unmap 命令中允许的最大描述符数。

注解

STORAGE_PROPERTY_QUERYPropertyId 成员设置为 StorageDeviceLBProvisioningProperty 时,将从IOCTL_STORAGE_QUERY_PROPERTY请求返回此结构。

如果 UnmapGranularityAlignmentValid = 0,则任何使用 UnmapGranularityAlignment 的代码都应假定其值为 0。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

请参阅

磁盘管理结构

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY