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
。 如果将 SCT 和 SC 字段清除为 0h
,则应将此字段清除为 0
。
AsUshort
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
标头 | nvme.h |