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 的最大数目。
MaxUnmapBlockDescriptorCount
从 Windows 10 开始:单个 unmap 命令中允许的最大描述符数。
注解
当 STORAGE_PROPERTY_QUERY 的 PropertyId 成员设置为 StorageDeviceLBProvisioningProperty 时,将从IOCTL_STORAGE_QUERY_PROPERTY请求返回此结构。
如果 UnmapGranularityAlignmentValid = 0,则任何使用 UnmapGranularityAlignment 的代码都应假定其值为 0。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |