共用方式為


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

另請參閱