DEVICE_DSM_DEFINITION 结构 (ntddstor.h)

DEVICE_DSM_DEFINITION 结构包含数据集管理 (DSM) 操作的属性。

语法

typedef struct _DEVICE_DSM_DEFINITION {
  DEVICE_DSM_ACTION Action;
  BOOLEAN           SingleRange;
  ULONG             ParameterBlockAlignment;
  ULONG             ParameterBlockLength;
  BOOLEAN           HasOutput;
  ULONG             OutputBlockAlignment;
  ULONG             OutputBlockLength;
} DEVICE_DSM_DEFINITION, *PDEVICE_DSM_DEFINITION;

成员

Action

DeviceDsmDefinition_Xxx 值,该值指定要执行的操作。 有关操作值及其关联定义值的列表,请参阅 DEVICE_DSM_ACTION说明 。 这些值在 ntddstor.h 中定义。

SingleRange

指定 DSM 操作是否一次仅支持单个范围。 如果要对整个数据集范围执行 DSM 操作,则设置标志DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE。

ParameterBlockAlignment

参数块在 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 请求的有效负载内的对齐方式。

ParameterBlockLength

参数块在IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载中的长度(以字节为单位)。 参数块将遵循 DSM_DEVICE_INPUT 结构。 如果 ParameterBlockLength 设置为零,则参数块不存在。

HasOutput

如果 Action 成员中指定的操作将返回输出,则设置 TRUE;否则,请将此项设置为 FALSE。

OutputBlockAlignment

输出块在IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载内的对齐方式。

OutputBlockLength

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载内的输出块的长度(以字节为单位)。 输出块遵循DSM_DEVICE_OUTPUT结构。 如果 OutputBlockLength 设置为零,则输出块不存在。

注解

每个 DSM 操作都有一个与之关联的定义。 例如, DeviceDsmAction_Trim 具有 DeviceDsmDefinition_Trim 作为其关联的定义。 DSM 发送方或处理程序使用适当的定义分配和初始化DEVICE_DSM_DEFINITION结构。 然后,将指向此结构的指针传递给需要它的所有与 DSM 相关的函数。

有关如何处理 DSM 的信息,请参阅 数据集管理概述

要求

要求
Header ntddstor.h

另请参阅

数据集管理概述

DEVICE_DSM_ACTION 说明

DSM_DEVICE_INPUT

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES