// ntddstor.h
// CTL_CODE(0x002d, 0x702, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_STORAGE_FIRMWARE_ACTIVATE 0x002DDC08
View the official Windows Driver Kit DDI reference// winioctl.h
// CTL_CODE(0x002d, 0x702, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_STORAGE_FIRMWARE_ACTIVATE 0x002DDC08
View the official Win32 API referenceNo description available.
A driver can use IOCTL_STORAGE_FIRMWARE_ACTIVATE to activate a firmware image on a storage device.
Irp->AssociatedIrp.SystemBuffer contains STORAGE_HW_FIRMWARE_ACTIVATE data that specifies information about the downloaded firmware to activate.
Parameters.DeviceIoControl.InputBufferLength indicates the size, in bytes, of the parameter buffer at Irp->AssociatedIrp.SystemBuffer, which must be >= sizeof(STORAGE_HW_FIRMWARE_ACTIVATE).
This IOCTL has no output structure.
None.
The Information field is set to the number of bytes returned. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_INSUFFICIENT_RESOURCES.
IOCTL_STORAGE_FIRMWARE_DOWNLOAD
IOCTL_STORAGE_FIRMWARE_GET_INFO
STORAGE_HW_FIRMWARE_INFO_QUERY
Windows applications can use this control code to activate a firmware image on a specified device.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_STORAGE_FIRMWARE_ACTIVATE, // dwIoControlCode
(LPDWORD) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
(LPDWORD) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.
Otherwise, Status to the appropriate error condition as a NTSTATUS code.
For more information, see NTSTATUS Values.