IOCTL_STORAGE_FIRMWARE_GET_INFO IOCTL (ntddstor.h)
A driver can use IOCTL_STORAGE_FIRMWARE_GET_INFO to query a storage device for detailed firmware information. A successful call will return information about firmware revisions, activity status, as well as read/write attributes for each slot. The amount of data returned will vary based on storage protocol.
Major code
Input buffer
Parameters.DeviceIoControl.InputBufferLength indicates the size, in bytes, of the parameter buffer at Irp->AssociatedIrp.SystemBuffer, which must be >= sizeof(STORAGE_HW_FIRMWARE_INFO_QUERY). Irp->AssociatedIrp.SystemBuffer contains STORAGE_HW_FIRMWARE_INFO_QUERY data that specifies the target of the request. Parameters.DeviceIoControl.OutputBufferLength indicates the number of bytes that can be written to Irp->AssociatedIrp.SystemBuffer. OutputBufferLength must be sizeof(STORAGE_HW_FIRMWARE_INFO) + sizeof(STORAGE_HW_FIRMWARE_SLOT_INFO) * (STORAGE_HW_FIRMWARE_INFO.SlotCount -1).Input buffer length
The length of .
Output buffer
The driver returns query data to the buffer at Irp->AssociatedIrp.SystemBuffer. The output buffer should contain a STORAGE_HW_FIRMWARE_INFO and STORAGE_HW_FIRMWARE_SLOT_INFO structure for each slot on the device.
Output buffer length
The length of .
Status block
The Information field is set to the number of bytes returned. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER, or STATUS_NOT_SUPPORTED.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Header | ntddstor.h (include Ntddstor.h) |
See also
IOCTL_STORAGE_FIRMWARE_ACTIVATE
IOCTL_STORAGE_FIRMWARE_DOWNLOAD