STORAGE_HW_FIRMWARE_INFO structure (ntddstor.h)

This structure contains information about the device firmware.

Syntax

typedef struct _STORAGE_HW_FIRMWARE_INFO {
  ULONG                         Version;
  ULONG                         Size;
  UCHAR                         SupportUpgrade : 1;
  UCHAR                         Reserved0 : 7;
  UCHAR                         SlotCount;
  UCHAR                         ActiveSlot;
  UCHAR                         PendingActivateSlot;
  BOOLEAN                       FirmwareShared;
  UCHAR                         Reserved[3];
  ULONG                         ImagePayloadAlignment;
  ULONG                         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[3]

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 multiple 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[ANYSIZE_ARRAY]

Contains the slot information for each slot on the device.

Requirements

Requirement Value
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Header ntddstor.h