次の方法で共有


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;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.P

完了キュー エントリが新しいエントリかどうかを示します。

NVME_CONTROLLER_CONFIGURATIONの EN フィールドを 1 に設定する前に、すべての完了キュー エントリのフェーズ タグ (P) 値をホスト ソフトウェアによって '0' に初期化する必要があります。

コントローラーは、完了キューにエントリを配置すると、フェーズ タグを反転して、ホスト ソフトウェアが新しいエントリを識別できるようにします。 具体的には、 EN1 に設定された後の完了キュー エントリの最初のセットでは、すべてのフェーズ タグがポストされたときに 1 に設定されます。 完了キュー エントリの 2 番目のセットでは、コントローラーが完了キューの上部にラップされると、すべてのフェーズ タグがポストされたときに 0 にクリアされます。 フェーズ タグの値は、完了キューを通過するたびに反転されます。

DUMMYSTRUCTNAME.SC

コマンドのエラーまたは状態情報を識別する状態コードを示します。

DUMMYSTRUCTNAME.SCT

コントローラーが返す状態の種類を示す NVME_STATUS_TYPES 値。

DUMMYSTRUCTNAME.Reserved

DUMMYSTRUCTNAME.M

コマンドの追加の状態情報があるかどうかを示します。

この値を 1 に設定すると、エラー 情報ログ の一部として、ログ ページの取得コマンドを使用して取得できる、このコマンドの状態情報が増えます。

この値を 0にクリアすると、このコマンドの追加の状態情報はありません。

DUMMYSTRUCTNAME.DNR

コマンドが再送信された場合に成功するかどうかを示します。

この値を 1 に設定すると、同じコマンドが再送信された場合に失敗することが予想されることを示します。

この値を 0にクリアすると、再試行された場合に同じコマンドが成功する可能性があることを示します。

時間制限付きのエラー復旧のためにコマンドが中止された場合は、このフィールドを 0 にクリアする必要があります。 SCT フィールドと SC フィールドが0hにクリアされている場合は、このフィールドをクリアして0する必要があります。

AsUshort

Requirements

Requirement 価値
サポートされる最小クライアント Windows 10
Header nvme.h

こちらも参照ください