NVME_CDW10_CREATE_IO_QUEUE union (nvme.h)

包含创建 I/O 完成队列和创建 IO 提交队列命令中使用的参数。 “创建 I/O 完成队列”命令用于创建除“管理员完成队列”之外的所有 I/O 完成队列,“创建 I/O 提交队列”命令用于创建 I/O 提交队列。

NVME_CDW10_CREATE_IO_QUEUE结构用于命令结构的 CREATEIOCQ 和 CREATEIOSQ 参数的 CDW10 字段中。

Syntax

typedef union {
  struct {
    ULONG QID : 16;
    ULONG QSIZE : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_CDW10_CREATE_IO_QUEUE, *PNVME_CDW10_CREATE_IO_QUEUE;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.QID

“队列标识符”(QID)字段指示要分配给要创建的完成队列或提交队列的标识符。

此标识符对应于用于 完成队列命令的完成队列头 Doorbell 或用于 提交队列命令的提交队列 Tail Doorbell

此 16 位 ID 值不应超过 i/O 完成队列或 I/O 提交队列的 NVME_FEATURE_NUMBER_OF_QUEUES 功能中报告的值。 如果指定的 0h值超过报告的队列数,或对应于已使用的标识符,则控制器应返回 NVME_STATUS_INVALID_QUEUE_IDENTIFIER错误。

DUMMYSTRUCTNAME.QSIZE

“队列大小”(QSIZE)字段指示要创建的完成队列或提交队列的大小。 队列大小在基于 16 位 0 的字段中指示,该字段指定队列中的条目数。

队列的最小大小为两个条目。 I/O 提交队列或 I/O 完成队列的最大大小为 64K 个条目,受NVME_CONTROLLER_CAPABILITIES结构“最大队列项支持”(MQES)字段中报告的控制器支持的最大队列大小限制。

管理员提交和管理员完成队列的最大大小定义为 4K 个条目。 由于 Head 和 Tail 条目指针定义,每个队列中的一个条目不可用。

如果大小 0h 大于控制器支持,则控制器应返回无效 队列大小错误。

AsUlong

要求

Requirement 价值
最低支持的客户端 Windows 10操作系统
Header nvme.h

另请参阅