Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

STORAGE_HW_FIRMWARE_INFO structure

This structure contains information about the device firmware.

Syntax

typedef struct _STORAGE_HW_FIRMWARE_INFO {
 DWORD Version;
 DWORD Size;
 BYTE SupportUpgrade :1;
 BYTE Reserved0 :7;
 BYTE SlotCount;
 BYTE ActiveSlot;
 BYTE PendingActivateSlot;
 BOOLEAN FirmwareShared;
 BYTE Reserved[3];
 DWORD ImagePayloadAlignment;
 DWORD ImagePayloadMaxSize;
 STORAGE_HW_FIRMWARE_SLOT_INFO Slot[ANYSIZE_ARRAY];
} STORAGE_HW_FIRMWARE_INFO, *PSTORAGE_HW_FIRMWARE_INFO;

Members

Version

The version of this structure. This should be set to sizeof(STORAGE_HW_FIRMWARE_INFO)

Size

The size of this structure as a buffer including slot.

SupportUpgrade

Indicates that this firmware supports an upgrade.

Reserved0

Reserved for future use.

SlotCount

The number of firmware slots on the device. This is the dimension of the Slot array.

Note

Some devices can store more than 1 firmware image, if they have more than 1 firmware slot.

ActiveSlot

The firmware slot containing the currently active/running firmware image.

PendingActivateSlot

The firmware slot that is pending activation.

FirmwareShared

Indicates that the firmware applies to both the device and controller/adapter, e.g. NVMe SSD.

Reserved

Reserved for future use.

ImagePayloadAlignment

The alignment of the image payload, in number of bytes. The maximum is PAGE_SIZE. The transfer size is a mutliple of this size. Some protocols require at least sector size. When this value is set to 0, this means that this value is invalid.

ImagePayloadMaxSize

The image payload maximum size, this is used for a single command.

Slot

Contains the slot information for each slot on the device, of type STORAGE_HW_FIRMWARE_SLOT_INFO.

Requirements

Requirement Value
Minimum supported client
Windows 10 [desktop apps only]
Minimum supported server
Windows Server 2016 [desktop apps only]
Header
Winioctl.h (include Windows.h)

See also

IOCTL_STORAGE_FIRMWARE_ACTIVATE

STORAGE_HW_FIRMWARE_ACTIVATE

IOCTL_STORAGE_FIRMWARE_DOWNLOAD

STORAGE_HW_FIRMWARE_DOWNLOAD

IOCTL_STORAGE_FIRMWARE_GET_INFO

STORAGE_HW_FIRMWARE_INFO_QUERY

STORAGE_HW_FIRMWARE_SLOT_INFO


Feedback

Was this page helpful?

Additional resources