NVME_CDW11_CREATE_IO_SQ union (nvme.h)
包含建立 IO 提交佇列命令的參數,可用來建立 IO 提交佇列。
NVME_CDW11_CREATE_IO_SQ結構用於 Command 結構的 CREATEIOSQ 參數的 CDW11 字段中。
語法
typedef union {
struct {
ULONG PC : 1;
ULONG QPRIO : 2;
ULONG Reserved0 : 13;
ULONG CQID : 16;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW11_CREATE_IO_SQ, *PNVME_CDW11_CREATE_IO_SQ;
成員
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.PC
[實體連續 (計算機) ] 字段會指出提交佇列在記憶體中是否實際連續。
當此值設定為 1
時,提交佇列實際上是連續的,而命令數據結構中的PRP專案1 (PRP1) 是連續實體緩衝區的位址。 如果此值設定為 0
,則提交佇列實際上不是連續的, 而 PRP1 是 PRP 清單指標。
如果已清除此值,0
且 [需要連續佇列 (CQR) ] 欄位在 [控制器功能] 中設定為 1
,控制器應該會傳回NVME_STATUS_INVALID_FIELD_IN_COMMAND的狀態。
如果佇列位於控制器記憶體緩衝區中,且 計算機 已清除為 0
,控制器將會讓命令失敗,且狀態為 NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER。
DUMMYSTRUCTNAME.QPRIO
[佇列優先順序 (QPRIO) ] 字段會藉由指定 NVME_NVM_QUEUE_PRIORITIES 列舉值,指出要用於此提交佇列內命令的優先順序類別。
只有在選取具有緊急優先順序類別的加權迴圈配置資源為仲裁機制時,才會使用這個欄位,如果未使用具有緊急優先順序類別的加權迴圈配置資源,則會忽略此欄位。
DUMMYSTRUCTNAME.Reserved0
DUMMYSTRUCTNAME.CQID
[佇列標識碼 (QID) ] 欄位會指出要用於與此提交佇列相關聯之任何命令完成專案的完成佇列標識碼。
不應指定 (管理員 完成佇列) 的值0h
。
如果指定的 0h
值為或未對應至有效的 I/O 完成佇列,控制器應該會傳回 錯誤NVME_STATUS_INVALID_QUEUE_IDENTIFIER。
AsUlong
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | nvme.h |