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
如果 作 成员中指定的作将返回输出,则设置 TRUE;否则,请将此项设置为 FALSE。
OutputBlockAlignment
输出块在IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载内的对齐方式。
OutputBlockLength
指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES请求的有效负载中的输出块的长度(以字节为单位)。 输出块遵循DSM_DEVICE_OUTPUT结构。 如果 OutputBlockLength 设置为零,则输出块不存在。
言论
每个 DSM作都有一个与之关联的定义。 例如,DeviceDsmAction_TrimDeviceDsmDefinition_Trim 作为其关联的定义。 DSM 发送方或处理程序使用适当的定义分配和初始化DEVICE_DSM_DEFINITION结构。 然后,它们将指向此结构的指针传递给需要它的所有 DSM 相关函数。
有关如何处理 DSM 的信息,请参阅 数据集管理概述。
要求
| 要求 | 价值 |
|---|---|
| 标头 | ntddstor.h |