Contains information about the boot partition to activate or replace on an NVMe storage controller or disk. This structure is used as the input buffer for the IOCTL_STORAGE_BOOT_PARTITION_ACTIVATE control code.
Syntax
typedef struct _STORAGE_HW_BOOT_PARTITION_ACTIVATE {
DWORD Version;
DWORD Size;
DWORD Flags;
BYTE BPID;
BYTE Reserved[3];
} STORAGE_HW_BOOT_PARTITION_ACTIVATE, *PSTORAGE_HW_BOOT_PARTITION_ACTIVATE;
Members
Version
The version of this structure. Set this to STORAGE_HW_BOOT_PARTITION_ACTIVATE_STRUCTURE_VERSION (0x01).
Size
The size of this structure, in bytes. Set this to sizeof(STORAGE_HW_BOOT_PARTITION_ACTIVATE).
Flags
Flags associated with this activation request. The following are valid flags that this member can hold. Only one action flag (STORAGE_HW_BOOT_PARTITION_REQUEST_REPLACE_EXISTING_BOOT_PARTITION or STORAGE_HW_BOOT_PARTITION_REQUEST_ACTIVATE_EXISTING_BOOT_PARTITION) may be set.
| Flag | Description |
|---|---|
| STORAGE_HW_BOOT_PARTITION_REQUEST_FLAG_CONTROLLER | Indicates that the target of the request is a controller or adapter, different than the device handle or object itself (for example, NVMe SSD or HBA). |
| STORAGE_HW_BOOT_PARTITION_REQUEST_REPLACE_EXISTING_BOOT_PARTITION | Replace the boot partition with the previously downloaded image. This corresponds to NVMe Firmware Commit Action 6. |
| STORAGE_HW_BOOT_PARTITION_REQUEST_ACTIVATE_EXISTING_BOOT_PARTITION | Activate an existing boot partition without modifying its contents. This corresponds to NVMe Firmware Commit Action 7. |
BPID
The boot partition ID to activate. Valid values are 0 or 1.
Reserved[3]
Reserved for future use.
Remarks
This structure is used with IOCTL_STORAGE_BOOT_PARTITION_ACTIVATE, which issues an NVMe Firmware Commit command (NVME_ADMIN_COMMAND_FIRMWARE_COMMIT) with boot partition-specific action codes. The IOCTL supports two mutually exclusive operations:
- Replace (Action 6): Commits a previously downloaded boot partition image (via IOCTL_STORAGE_BOOT_PARTITION_DOWNLOAD) to the specified boot partition slot. Set the STORAGE_HW_BOOT_PARTITION_REQUEST_REPLACE_EXISTING_BOOT_PARTITION flag.
- Activate (Action 7): Activates an existing boot partition without modifying its contents. Set the STORAGE_HW_BOOT_PARTITION_REQUEST_ACTIVATE_EXISTING_BOOT_PARTITION flag.
Note
These IOCTLs are currently only supported for PCIe NVMe devices.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows 11 26H1 |
| Header | winioctl.h (include Windows.h) |
See also
IOCTL_STORAGE_BOOT_PARTITION_ACTIVATE
IOCTL_STORAGE_BOOT_PARTITION_DOWNLOAD
IOCTL_STORAGE_BOOT_PARTITION_GET_INFO