NVME_COMPLETION_QUEUE_HEAD_DOORBELL union (nvme.h)
定義門鈴緩存器,以更新完成佇列 y 的前端項目指標。
y 的值相當於佇列標識碼,這是在建立佇列時指派給佇列的 16 位標識碼值,這個值表示主機軟體已處理的完成佇列專案。
完成佇列 y Head Doorbell (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 |
標頭 | nvme.h |