次の方法で共有


NVME_SUBMISSION_QUEUE_TAIL_DOORBELL union (nvme.h)

送信キュー y の Tail エントリ ポインターを更新するドアベル レジスタ 定義します。

y の値は、キュー ID (キューの作成時にキューに割り当てられる 16 ビット ID 値) と同じです。この値は、処理のために新しいコマンドが送信されたことをコントローラーに示します。

送信キュー y Tail Doorbell (CQyHDBL) のオフセットは次のとおりです。 (1000h + ((2y) * (4 << CAP.DSTRD)))

CAP.DSTRDNVME_CONTROLLER_CAPABILITIESDSTRD フィールドの値です。

構文

typedef union {
  struct {
    ULONG SQT : 16;
    ULONG Reserved0 : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_SUBMISSION_QUEUE_TAIL_DOORBELL, *PNVME_SUBMISSION_QUEUE_TAIL_DOORBELL;

メンバー

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.SQT

送信キュー末尾エントリ ポインターの新しい値を示す読み取り/書き込みフィールド。

この値は、以前に指定した送信キュー末尾 (SQT) 値を上書きします。 最後の SQT 書き込みと現在の SQT 書き込みの違いは、送信キューに追加されたコマンドの数を示します。

注意

申請キューのロールオーバーが考慮されている必要があります。

DUMMYSTRUCTNAME.Reserved0

読み取り専用の予約済みフィールド。

AsUlong

注釈

ホストはドアベル レジスタを読み取るべきではありません。 ドアベル レジスタが読み取られた場合、返される値はベンダー固有です。 存在しない送信キュー Tail Doorbell に書き込むには、未定義の結果があります。

要件

要件
サポートされている最小のクライアント Windows 10
Header nvme.h