NVME_COMMAND_STATUS union (nvme.h)

包含有关命令状态的信息。

此结构用于NVME_COMPLETION_ENTRY“状态”字段和NVME_ERROR_INFO_LOG“状态”字段中,以指示已完成的命令的状态。

语法

typedef union {
  struct {
    USHORT P : 1;
    USHORT SC : 8;
    USHORT SCT : 3;
    USHORT Reserved : 2;
    USHORT M : 1;
    USHORT DNR : 1;
  } DUMMYSTRUCTNAME;
  USHORT AsUshort;
} NVME_COMMAND_STATUS, *PNVME_COMMAND_STATUS;

成员

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.P

指示完成队列条目是否为新条目。

在将NVME_CONTROLLER_CONFIGURATION的 EN 字段1设置为 之前,主机软件应将所有完成队列条目的阶段标记 (P) 值初始化为“0”。

当控制器在完成队列中放置某个条目时,它将反转阶段标记,使主机软件能够识别新条目。 具体而言,对于 EN 设置为 1后的第一组完成队列条目,所有阶段标记在发布时都设置为 1 。 对于第二组完成队列条目,当控制器包装到完成队列的顶部时,所有阶段标记在发布时都会清除为 0 。 阶段标记的值在每次通过完成队列时反转。

DUMMYSTRUCTNAME.SC

指示标识命令的任何错误或状态信息的状态代码。

DUMMYSTRUCTNAME.SCT

指示控制器返回的状态类型的 NVME_STATUS_TYPES 值。

DUMMYSTRUCTNAME.Reserved

DUMMYSTRUCTNAME.M

指示命令是否有其他状态信息。

当此值设置为 1时,此命令将有更多状态信息作为 错误信息日志 的一部分,可以使用“获取日志页”命令进行检索。

将此值清除为 0时,此命令没有其他状态信息。

DUMMYSTRUCTNAME.DNR

指示重新提交命令后是否成功。

当此值设置为 1时,它指示如果重新提交相同的命令,预期会失败。

将此值清除为 0时,表示如果重试,同一命令可能会成功。

如果命令由于时间限制的错误恢复而中止,则应将此字段清除为 0。 如果将 SCTSC 字段清除为 0h ,则应将此字段清除为 0

AsUshort

要求

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

另请参阅