IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL

This IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request is used to send a manage data set attributes request to a storage device.

Major Code

IRP_MJ_DEVICE_CONTROL

Input Buffer

The buffer at Irp->AssociatedIrp.SystemBuffer contains a DEVICE_MANAGE_DATA_SET_ATTRIBUTES structure. Note that the buffer may include parameter and data set range blocks. Also, the Action member of this structure defines the action to be performed through a DEVICE_DATA_MANAGEMENT_SET_ACTION enumeration value.

Input Buffer Length

Parameters.DeviceIoControl.InputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the buffer, which must be at least sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES).

Output Buffer

Depending on the value set in the Action member of DEVICE_MANAGE_DATA_SET_ATTRIBUTES, the request may return data in the buffer at Irp->AssociatedIrp.SystemBuffer. The system buffer will contain valid data if the manage data set action operation returns output and Parameters.DeviceIoControl.InputBufferLength > 0.

Output Buffer Length

The length of DEVICE_MANAGE_DATA_SET_ATTRIBUTES.

Input / Output Buffer

Input / Output Buffer Length

Status Block

The Status field can be set to STATUS_SUCCESS, or possibly to STATUS_INVALID_DEVICE_REQUEST, STATUS_BUFFER_TOO_SMALL, STATUS_BUFFER_OVERFLOW, or some other error status.

Remarks

Due to memory pool requirements by the storage driver stack, completion of the IRP containing this IOCTL must be at IRQL < DISPATCH_LEVEL.

Requirements

   
Header ntddstor.h (include Ntddstor.h)
IRQL IRQL < DISPATCH_LEVEL (See Remarks section.)

See Also

DEVICE_DATA_MANAGEMENT_SET_ACTION

DEVICE_MANAGE_DATA_SET_ATTRIBUTES