共用方式為


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

指出完成佇列專案是否為新專案。

所有完成佇列專案的階段標記 (P) 值,應該先由主機軟體初始化為 '0',再將 NVME_CONTROLLER_CONFIGURATIONEN 字段設定為 1

當控制器將專案放在完成佇列中時,它會反轉階段標記,讓主機軟體識別新的專案。 具體而言,針對 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

另請參閱