NVME_COMPLETION_QUEUE_HEAD_DOORBELL union (nvme.h)
完了キュー y のヘッド エントリ ポインターを更新するドアベル レジスタ を定義します。
y の値は、キュー ID (キューの作成時にキューに割り当てられる 16 ビット ID 値) と同じです。この値は、ホスト ソフトウェアによって処理された完了キュー エントリを示します。
完了キュー y ヘッド ドアベル (CQyHDBL) のオフセットは次のとおりです。 (1000h + ((2y + 1) * (4 << CAP.DSTRD)))
はCAP.DSTRD
、NVME_CONTROLLER_CAPABILITIESの DSTRD フィールドの値です。
構文
typedef union {
struct {
ULONG CQH : 16;
ULONG Reserved0 : 16;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_COMPLETION_QUEUE_HEAD_DOORBELL, *PNVME_COMPLETION_QUEUE_HEAD_DOORBELL;
メンバー
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.CQH
完了キュー ヘッド エントリ ポインターの新しい値を示す読み取り/書き込みフィールド。
この値は、以前に指定した完了キュー ヘッド (CQH) 値を上書きします。 最後の CQH 書き込みと現在の CQH エントリ ポインター書き込みの違いは、完了キュー内のコントローラーで再利用できるようになったエントリの数を示します。
注意
完了キューのロールオーバーが考慮されている必要があります。
DUMMYSTRUCTNAME.Reserved0
読み取り専用の予約済みフィールド。
AsUlong
注釈
ホストはドアベル レジスタを読み取るべきではありません。 ドアベル レジスタが読み取られた場合、返される値はベンダー固有です。 存在しない完了キュー ヘッド ドアベルに書き込むには、未定義の結果があります。
ホスト ソフトウェアは、送信キューに使用可能なエントリがあるかどうかに関係なく、完了キュー内の完了キュー エントリを処理し続ける必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | nvme.h |