IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (winioctl.h)

The IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code communicates attribute information to the volume manager and storage system device.

To perform this operation, call the DeviceIoControl function with the following parameters.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                         // handle to device
  IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES, // dwIoControlCode
  (LPVOID) lpInBuffer,                      // input buffer
  (DWORD) nInBufferSize,                    // size of the input buffer
  (LPVOID) lpOutBuffer,                     // output buffer
  (DWORD) nOutBufferSize,                   // size of the input buffer
  (LPDWORD) lpBytesReturned,                // number of bytes returned
  (LPOVERLAPPED) lpOverlapped               // OVERLAPPED structure
);

Remarks

Use the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code for sending storage system-specific information to the volume manager and storage system.

The input buffers passed through the lpInBuffer parameter start with a DEVICE_MANAGE_DATA_SET_ATTRIBUTES structure but may contain additional parameters before the list of data set ranges depending on the value of the Action member of the DEVICE_MANAGE_DATA_SET_ATTRIBUTES structure. The output buffers returned through the lpOutBuffer parameter start with a DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT structure but then can contain additional data depending on the value of the Action member of the DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT structure pointed to by the lpOutBuffer parameter. These values are one of the values for the DEVICE_DATA_MANAGEMENT_SET_ACTION data type.

Value Parameters structure Output block structure
DeviceDsmAction_Trim None None
DeviceDsmAction_Notification DEVICE_DSM_NOTIFICATION_PARAMETERS None
DeviceDsmAction_OffloadRead DEVICE_DSM_OFFLOAD_READ_PARAMETERS STORAGE_OFFLOAD_READ_OUTPUT
DeviceDsmAction_OffloadWrite DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS STORAGE_OFFLOAD_WRITE_OUTPUT
DeviceDsmAction_Allocation None DEVICE_DATA_SET_LB_PROVISIONING_STATE
DeviceDsmAction_Repair DEVICE_DATA_SET_REPAIR_PARAMETERS None
DeviceDsmAction_Scrub None None
DeviceDsmAction_Resiliency None None

Requirements

Requirement Value
Minimum supported client Windows 7
Minimum supported server Windows Server 2008 R2
Header winioctl.h (include Windows.h)

See also