DEVICE_MANAGE_DATA_SET_ATTRIBUTES结构(ntddstor.h)

DEVICE_DSM_INPUT(或DEVICE_MANAGE_DATA_SET_ATTRIBUTES)结构指定设备的数据集属性的管理作。

语法

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
  ULONG             Size;
  DEVICE_DSM_ACTION Action;
  ULONG             Flags;
  ULONG             ParameterBlockOffset;
  ULONG             ParameterBlockLength;
  ULONG             DataSetRangesOffset;
  ULONG             DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;

成员

Size

DEVICE_DSM_INPUT结构的大小(以字节为单位)。 当成员添加到结构时,此成员的值将发生更改。

Action

指定要执行的作的DEVICE_DSM_ACTION值。 有关作值和说明的列表,请参阅 DEVICE_DSM_ACTION 说明

如果在 中设置了 DeviceDsmActionFlag_NonDestructive 标志(最有效位),则指定的作是非破坏性的。 对于非破坏性作,即使驱动程序未处理指定的作,驱动程序也可以安全地将 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 请求转发到堆栈中的下一个下层驱动程序。 如果驱动程序确实处理 DSM,则应执行由 DataSetRangesOffset 指定的数据集范围块的正常处理,并在将IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求转发到下一个下一个下一个驱动程序之前,DataSetRangesLength 成员。

Flags

这些标志对所有控制作都是全局的。 此成员可以设置为以下标志之一:

标志值 意义
DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE 为整个数据集范围块指定控制作。 如果设置了此标志,DataSetRangesOffsetDataSetRangesLength 成员必须设置为零。

ParameterBlockOffset

指定 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 请求的有效负载中的参数块的开始。 参数块的格式取决于 Action 成员的值。 有关参数块格式的详细信息,请参阅 DEVICE_DSM_ACTION 说明注意:参数块的偏移量必须在相应参数的地址边界上对齐。

如果 ParameterBlockOffset 设置为零,则参数块不存在。

ParameterBlockLength

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载中参数块的长度(以字节为单位)。

如果 ParameterBlockLength 设置为零,则参数块不存在。

DataSetRangesOffset

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求有效负载内的数据集块范围的开始。 此块包含一个或多个连续条目,这些条目的格式设置为 DEVICE_DSM_RANGE 结构。 注意:数据集范围块的偏移量必须在DEVICE_DSM_RANGE结构的地址边界上对齐。

如果设置为零,则数据集范围的块不存在。

DataSetRangesLength

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载内的数据集块的长度(以字节为单位)。 如果 DataSetRangesLength 设置为零,则数据集范围的块不存在。

言论

有关 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 请求的有效负载格式的详细信息,请参阅 数据集管理概述。 缓冲区的总大小应至少 sizeof(DEVICE_DSM_INPUT) + ParameterBlockLength + DataSetRangesLength

数据集范围的块由 DataSetRangesOffsetDataSetRangesLength 成员指定。 如果此块存在,则它包含连续 DEVICE_DSM_RANGE 结构。

要求

要求 价值
标头 ntddstor.h (包括 Ntddstor.h)

另请参阅

数据集管理概述

DEVICE_DSM_ACTION 说明

DEVICE_DSM_RANGE

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES