DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT structure (winioctl.h)

Output structure for the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.

Syntax

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT {
  DWORD             Size;
  DEVICE_DSM_ACTION Action;
  DWORD             Flags;
  DWORD             OperationStatus;
  DWORD             ExtendedError;
  DWORD             TargetDetailedError;
  DWORD             ReservedStatus;
  DWORD             OutputBlockOffset;
  DWORD             OutputBlockLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT, DEVICE_DSM_OUTPUT, *PDEVICE_DSM_OUTPUT;

Members

Size

Size of the structure. This is set to sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT).

Action

The action related to the instance of this structure. This is a value for the DEVICE_DATA_MANAGEMENT_SET_ACTION data type.

Value Meaning
DeviceDsmAction_Trim
1
A trim action is performed. This value is not supported for user-mode applications.
DeviceDsmAction_Notification
2 | DeviceDsmActionFlag_NonDestructive (0x80000002)
A notification action is performed. The DeviceDsmActionFlag_NonDestructive (0x80000000) is a bit flag to indicate to the driver stack that this operation is non-destructive.
DeviceDsmAction_OffloadRead
3 | DeviceDsmActionFlag_NonDestructive (0x80000003)
An offload read action is performed. The output described by the OutputBlockOffset and OutputBlockLength members is a STORAGE_OFFLOAD_READ_OUTPUT structure. The DeviceDsmActionFlag_NonDestructive (0x80000000) is a bit flag to indicate to the driver stack that this operation is non-destructive.
DeviceDsmAction_OffloadWrite
4
An offload write action is performed. The output described by the OutputBlockOffset and OutputBlockLength members is a STORAGE_OFFLOAD_WRITE_OUTPUT structure.
DeviceDsmAction_Allocation
5 | DeviceDsmActionFlag_NonDestructive (0x80000005)
An allocation bitmap is returned for the first data set range passed in. The output is in a DEVICE_DATA_SET_LB_PROVISIONING_STATE structure. The DeviceDsmActionFlag_NonDestructive (0x80000000) is a bit flag to indicate to the driver stack that this operation is non-destructive.
DeviceDsmAction_Repair
6 | DeviceDsmActionFlag_NonDestructive (0x80000006)
A repair action is performed. The DeviceDsmActionFlag_NonDestructive (0x80000000) is a bit flag to indicate to the driver stack that this operation is non-destructive.

Windows 7 and Windows Server 2008 R2:  This value is not supported before Windows 8 and Windows Server 2012.

DeviceDsmAction_Scrub
7 | DeviceDsmActionFlag_NonDestructive (0x80000007)
A scrub action is performed. The DeviceDsmActionFlag_NonDestructive (0x80000000) is a bit flag to indicate to the driver stack that this operation is non-destructive.

Windows 7 and Windows Server 2008 R2:  This value is not supported before Windows 8 and Windows Server 2012.

DeviceDsmAction_Resiliency
8 | DeviceDsmActionFlag_NonDestructive (0x80000008)
A resiliency action is performed. The DeviceDsmActionFlag_NonDestructive (0x80000000) is a bit flag to indicate to the driver stack that this operation is non-destructive.

Windows 7 and Windows Server 2008 R2:  This value is not supported before Windows 8 and Windows Server 2012.

Flags

Not used.

OperationStatus

Not used.

ExtendedError

Extended error information.

TargetDetailedError

Target specific error.

ReservedStatus

Reserved.

OutputBlockOffset

The offset, in bytes, from the beginning of this structure to where any action-specific data is located.

OutputBlockLength

The length, in bytes, of the action-specific data.

Requirements

Requirement Value
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Header winioctl.h (include Windows.h)

See also

DEVICE_DATA_SET_RANGE

Device Management Structures

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES