Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Contains boot partition information retrieved from an NVMe storage controller or disk. This structure is used as the input and output buffer for the IOCTL_STORAGE_BOOT_PARTITION_GET_INFO control code.
Syntax
typedef struct _STORAGE_HW_BOOT_PARTITION_INFO {
DWORD Version;
DWORD Size;
DWORDLONG BPSZ;
DWORD Flags;
DWORD ImagePayloadAlignment;
DWORD ImagePayloadMaxSize;
BYTE SlotCount;
BYTE ABPID;
} STORAGE_HW_BOOT_PARTITION_INFO, *PSTORAGE_HW_BOOT_PARTITION_INFO;
Members
Version
The version of this structure. Set this to STORAGE_HW_BOOT_PARTITION_INFO_STRUCTURE_VERSION_V1 (0x01).
Size
The size of this structure, in bytes.
BPSZ
The boot partition size, in bytes.
Flags
Flags associated with this request. The following are valid flags that this member can hold.
| 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). |
ImagePayloadAlignment
The alignment of the image payload, in bytes. The maximum value is PAGE_SIZE. The transfer size must be a multiple of this value. Some protocols require at least sector-size alignment. A value of 0 indicates that the alignment value is invalid or not applicable.
ImagePayloadMaxSize
The maximum size for a single image payload command, in bytes.
SlotCount
The number of boot partition slots available. For NVMe devices, this value is 2 as defined by the NVMe specification.
ABPID
The active boot partition ID (0 or 1).
Remarks
This structure is returned by IOCTL_STORAGE_BOOT_PARTITION_GET_INFO, which issues a Get Log Page command for the Boot Partition Log Page (NVME_LOG_PAGE_BOOT_PARTITION) to retrieve boot partition state from the NVMe controller.
The ImagePayloadAlignment and ImagePayloadMaxSize values should be used when preparing image data for download via IOCTL_STORAGE_BOOT_PARTITION_DOWNLOAD. The download buffer offset must be aligned to ImagePayloadAlignment, and each chunk size should be a multiple of ImagePayloadAlignment and not exceed ImagePayloadMaxSize.
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_GET_INFO
IOCTL_STORAGE_BOOT_PARTITION_DOWNLOAD
IOCTL_STORAGE_BOOT_PARTITION_ACTIVATE