NVME_PRP_ENTRY union (nvme.h)

包含指定指向物理内存页的指针的页基址和偏移量 (PBAO) 的字段。

物理区域页 (PRP) 项是指向物理内存页的指针。 PRP 用作散点/收集机制,用于在控制器和内存之间传输数据。 为了在控制器和主机之间实现高效的无序数据传输,PRP 条目的大小是固定的。

物理内存页的大小由主机软件在控制器配置结构的 MPS 字段中配置,偏移字段的大小由 MPS 值决定。

此结构用于NVME_COMMAND结构的 PRP1PRP2 字段中。

语法

typedef union {
  struct {
    ULONGLONG Reserved0 : 2;
    ULONGLONG PBAO : 62;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_PRP_ENTRY, *PNVME_PRP_ENTRY;

成员

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Reserved0

保留字段。

DUMMYSTRUCTNAME.PBAO

指示 64 位物理内存页地址。

此字段的低位 (n:2) 表示内存页中的偏移量。 如果内存页大小为 4KB,则位 02:11 构成 Offset;如果内存页大小为 8KB,则位 02:12 将构成 Offset,依此。

如果此项不是命令中的第一个 PRP 条目或命令中的 PRP 列表指针,则应将此字段的 Offset 部分清除为 0h

AsUlonglong

要求

要求
最低受支持的客户端 Windows 10
标头 nvme.h