NVME_COMPLETION_QUEUE_HEAD_DOORBELL union (nvme.h)

定义用于更新完成队列 y 的 Head 条目指针的门铃寄存器。

值 y 等效于队列标识符(创建队列时分配给队列的 16 位 ID 值),该值指示主机软件已处理的完成队列条目。

完成队列 y Head Doorbell (CQyHDBL) 的偏移量为: (1000h + ((2y + 1) * (4 << CAP.DSTRD)))

其中 CAP.DSTRDNVME_CONTROLLER_CAPABILITIESDSTRD 字段的值。

语法

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