DEVICE_DATA_SET_LB_PROVISIONING_STATE 结构 (ntddstor.h)

请求数据集范围的逻辑块预配信息时, IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 请求返回DEVICE_DATA_SET_LB_PROVISIONING_STATE结构。

语法

typedef struct _DEVICE_DATA_SET_LB_PROVISIONING_STATE {
  ULONG     Size;
  ULONG     Version;
  ULONGLONG SlabSizeInBytes;
  ULONG     SlabOffsetDeltaInBytes;
  ULONG     SlabAllocationBitMapBitCount;
  ULONG     SlabAllocationBitMapLength;
  ULONG     SlabAllocationBitMap[ANYSIZE_ARRAY];
} DEVICE_DATA_SET_LB_PROVISIONING_STATE, *PDEVICE_DATA_SET_LB_PROVISIONING_STATE, DEVICE_DSM_ALLOCATION_OUTPUT, *PDEVICE_DSM_ALLOCATION_OUTPUT;

成员

Size

此结构的大小,包括板分配位图,以字节为单位。

Version

此结构的版本。

SlabSizeInBytes

板的大小(以字节为单位)。

SlabOffsetDeltaInBytes

从数据集范围中指定的偏移量到起始板位置的差值(以字节为单位)。

SlabAllocationBitMapBitCount

数据集范围的分配位图映射板中的位数。

SlabAllocationBitMapLength

包含板分配位图的 ULONG 数组值的数目。

SlabAllocationBitMap[ANYSIZE_ARRAY]

板分配的位图。

注解

DEVICE_DSM_INPUTAction 成员设置为 DeviceDsmAction_Allocation 时,将返回预配状态信息。 调用方应在 DataSetRangesOffset 的系统缓冲区中仅包含一个数据集范围。

返回时,系统缓冲区包含 DEVICE_DSM_OUTPUT 结构,后跟DEVICE_DATA_SET_LB_PROVISIONING_STATE结构。 DEVICE_DATA_SET_LB_PROVISIONING_STATE 结构从 DEVICE_DSM_OUTPUT 中 OutputBlockOffset 指定的系统缓冲区开头的偏移量处开始。

分配位图中的每个位都表示所请求的数据集范围内的一个板映射。 位直接对应于数据集范围内的板。 这意味着位图中的位 0 标记范围中的第一个板。 如果位值 = 1,则映射板;如果位值 = 0,则取消映射。

应根据请求的数据集范围内可能的板数来分配 SlabAllocationBitMap 的空间。 返回的位图的 SlabAllocationBitMapLength 是 (个板数 / 32 个) + ( (个板数 MOD 32) > 0? 1: 0) 。

板大小由从IOCTL_STORAGE_QUERY_PROPERTY请求返回的DEVICE_LB_PROVISIONING_DESCRIPTOROptimalUnmapGranularity 成员决定。 提供的数据集范围的长度应为 OptimalUnmapGranularity 的倍数。 如果范围长度不是 OptimalUnmapGranularity 的倍数,则将其减小为倍数。

如果数据集范围内的起始偏移量在板边界( OptimalUnmapGranularity 的倍数)上不对齐,则偏移量将调整为下一个边界。 请求的偏移量和调整后的偏移量之间的差值以 SlabOffsetDeltaInBytes 为单位返回。

如果 SlabAllocationBitMapBitCount 中返回的板分配总计由于数据集范围对齐或长度调整而不符合预期,则可能会提交附加请求,其中包含根据 SlabAllocationBitMapBitCountSlabOffsetDeltaInBytes 中的值修改的数据集范围。 新范围将正确选择上一个请求返回的位图中留下的板。

要求

要求
最低受支持的客户端 从Windows 8开始可用。
标头 ntddstor.h (包括 Ntddstor.h)

另请参阅

DEVICE_DSM_ACTION 说明

DEVICE_DSM_INPUT

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES

IOCTL_STORAGE_QUERY_PROPERTY