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 |