包含创建 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 |