DEVICE_LB_PROVISIONING_DESCRIPTOR 结构 (ntddstor.h)

DEVICE_LB_PROVISIONING_DESCRIPTOR结构是从IOCTL_STORAGE_QUERY_PROPERTY请求返回的查询结果结构之一。 此结构包含存储设备的精简预配功能。

语法

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

成员

Version

此结构的版本。

Size

此结构的大小。 这设置为 sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR)

ThinProvisioningEnabled

已启用精简预配的状态。

含义
0 精简预配已禁用。
1 已启用精简预配。

ThinProvisioningReadZeros

对未映射区域的读取返回零。

含义
0 未定义从未映射区域读取的数据。
1 读取返回零。

AnchorSupported

支持定位 LBA 映射状态。

含义
0 不支持定位的 LBA 映射状态。
1 支持定位 LBA 映射状态。

UnmapGranularityAlignmentValid

设备取消映射粒度对齐的有效性。

含义
0 取消映射粒度对齐无效。
1 取消映射粒度对齐有效。

GetFreeSpaceSupported

指示对 DeviceDsmAction_GetFreeSpace的支持。

含义
0 不支持DeviceDsmAction_GetFreeSpace
1 支持DeviceDsmAction_GetFreeSpace

MapSupported

指示支持 DeviceDsmAction_Map

含义
0 不支持DeviceDsmAction_Map
1 支持DeviceDsmAction_Map

Reserved1[7]

保留值;请勿使用。

OptimalUnmapGranularity

用于取消映射设备的粒度的最佳块数。

UnmapGranularityAlignment

当前值(以块为单位)设置,用于在设备上取消映射粒度对齐。 值 UnmapGranularityAlignmentValid 指示此成员的有效性。

MaxUnmapLbaCount

可以在单个 UNMAP 命令中取消映射的最大 BA 量(以逻辑块为单位)。 从 Windows 10 开始有效。

MaxUnmapBlockDescriptorCount

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

注解

STORAGE_PROPERTY_QUERYPropertyId 成员设置为 StorageDeviceLBProvisioningProperty 时,将从IOCTL_STORAGE_QUERY_PROPERTY请求的系统缓冲区中返回此结构。

DEVICE_LB_PROVISIONING_DESCRIPTOR 结构将写入系统缓冲区 Irp-AssociatedIrp.SystemBuffer>,其值 (DEVICE_LB_PROVISIONING_DESCRIPTOR) 在Parameters.DeviceIoControl.OutputBufferLength 中为当前 IRP 堆栈位置设置。

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

如果基础存储设备是 SCSI 设备,则可以查询取消映射功能。 如果 DEVICE_TRIM_DESCRIPTOR 结构的 TrimEnabled 成员为 TRUE,则支持 UNMAP。 当 STORAGE_PROPERTY_QUERYPropertyId 成员设置为 StorageDeviceTrimProperty 时,IOCTL_STORAGE_QUERY_PROPERTY请求在系统缓冲区中返回DEVICE_TRIM_DESCRIPTOR结构。

要求

要求
最低受支持的客户端 Windows 8
标头 ntddstor.h (包括 Ntddstor.h)

另请参阅

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY