NVME_LBA_RANGET_TYPE_ENTRY structure (nvme.h)

Contains parameters that specify a single entry in a list of Logical Block Address (LBA) ranges, for the LBA Range Type Feature in the Set Features command.

Syntax

typedef struct {
  UCHAR     Type;
  struct {
    UCHAR MayOverwritten : 1;
    UCHAR Hidden : 1;
    UCHAR Reserved : 6;
  } Attributes;
  UCHAR     Reserved0[14];
  ULONGLONG SLBA;
  ULONGLONG NLB;
  UCHAR     GUID[16];
  UCHAR     Reserved1[16];
} NVME_LBA_RANGET_TYPE_ENTRY, *PNVME_LBA_RANGET_TYPE_ENTRY;

Members

Type

An NVME_LBA_RANGE_TYPES value that specifies the type of the LBA range.

Attributes

Specifies attributes for the LBA range. Each bit defines an attribute, as follows:

  • Bit 0 - If this bit is set to 1, the LBA range may be overwritten. If this bit is cleared to 0, the LBA range should not be overwritten.
  • Bit 1 - If this bit is set to 1, the LBA range should be hidden from the OS/EFI/BIOS. If this bit is cleared to 0, the area should be visible to the OS/EFI/BIOS.
  • Bits 2-7 - Reserved

Attributes.MayOverwritten

Attributes.Hidden

Attributes.Reserved

Reserved0[14]

SLBA

Specifies the 64-bit address of the first logical block that is part of this LBA range.

NLB

Specifies the number of logical blocks that are part of this LBA range. This is a 0s based value.

GUID[16]

A Global Unique Identifier (GUID) that uniquely specifies the type of this LBA range. Well known Types may be defined and are published on the NVM Express website.

Reserved1[16]

Requirements

Requirement Value
Minimum supported client Windows 10
Header nvme.h

See also