NVME_CDW10_CREATE_IO_QUEUE union (nvme.h)
包含用於建立 I/O 完成佇列和建立 IO 提交佇列命令的參數。 [建立 I/O 完成佇列] 命令可用來建立所有 I/O 完成佇列,但 管理員 完成佇列除外,而建立 I/O 提交佇列命令則用來建立 I/O 提交佇列。
NVME_CDW10_CREATE_IO_QUEUE 結構用於 Command 結構的 CREATEIOCQ 和 CREATEIOSQ 參數的 CDW10 字段中。
語法
typedef union {
struct {
ULONG QID : 16;
ULONG QSIZE : 16;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW10_CREATE_IO_QUEUE, *PNVME_CDW10_CREATE_IO_QUEUE;
成員
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.QID
[佇列標識碼 (QID) ] 字段會指出要指派給要建立之完成佇列或提交佇列的識別碼。
此標識符對應至 用於完成佇列命令的完成佇列前端門鈴 ,或用於提交佇列命令的 提交佇列 Tail Doorbell 。
此16位標識碼值不應超過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
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | nvme.h |