DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ntddstor.h

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT {
  ULONG             Size;
  DEVICE_DSM_ACTION Action;
  ULONG             Flags;
  ULONG             OperationStatus;
  ULONG             ExtendedError;
  ULONG             TargetDetailedError;
  ULONG             ReservedStatus;
  ULONG             OutputBlockOffset;
  ULONG             OutputBlockLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT, DEVICE_DSM_OUTPUT, *PDEVICE_DSM_OUTPUT;
View the official Windows Driver Kit DDI reference
// winioctl.h

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;
View the official Win32 API reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-ntddstor-_device_manage_data_set_attributes_output)

_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT structure

Description

The DEVICE_DSM_OUTPUT (or DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT) structure describes output for IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES requests for some data set management actions.

Members

Size

Size of this structure, in bytes. Set this member to sizeof(DEVICE_DSM_OUTPUT).

Action

DEVICE_DSM_ACTION value that specifies the action related to the instance of this structure. See DEVICE_DSM_ACTION Descriptions for a list of values and action descriptions.

Flags

Flags for the data set management action. See the Flags member of IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES.

OperationStatus

Status resulting from the operation performed for Action.

ExtendedError

An extended error value originating from Windows or a driver.

TargetDetailedError

An error value resulting from a failure execute the operation for Action at the target.

ReservedStatus

Reserved.

OutputBlockOffset

The position, after the beginning of this structure, where action-specific data is located.

OutputBlockLength

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

Remarks

Depending on the value of Action, an output block is written at an offset of OutputBlockOffset after the beginning of this structure. The size of the output block is specified in OutputBlockLength.

See also

DEVICE_DSM_ACTION Descriptions

DEVICE_DATA_SET_LB_PROVISIONING_STATE

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES


Win32 API reference (ns-winioctl-device_manage_data_set_attributes_output)

DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT structure

Description

Output structure for the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.

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.

See also

DEVICE_DATA_SET_RANGE

Device Management Structures

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES