NVME_CDW11_CREATE_IO_CQ union (nvme.h)
Contains parameters for the Create I/O Completion Queue command, that is used to create all I/O Completion Queues with the exception of the Admin Completion Queue.
The NVME_CDW11_CREATE_IO_CQ structure is used in the CDW11 field of the CREATEIOCQ parameter of the Command structure.
Syntax
typedef union {
struct {
ULONG PC : 1;
ULONG IEN : 1;
ULONG Reserved0 : 14;
ULONG IV : 16;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW11_CREATE_IO_CQ, *PNVME_CDW11_CREATE_IO_CQ;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.PC
The Physically Contiguous (PC) field indicates whether the Completion Queue is physically contiguous in memory.
When this value is set to 1
, the Completion Queue is physically contiguous and PRP Entry 1 (PRP1 in the Command data structure) is the address of a contiguous physical buffer. If the value is cleared to 0
, the Completion Queue is not physically contiguous and PRP1 is a PRP List pointer.
If the queue is located in the Controller Memory Buffer and PC is cleared to 0
, the controller will fail the command with a status of NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER.
DUMMYSTRUCTNAME.IEN
The Interrupts Enabled (IEN) field indicates whether interrupts are enabled for this Completion Queue.
When the value is set to 1
, interrupts are enabled for this Completion Queue. When the value is cleared to 0
, interrupts are disabled for this Completion Queue.
DUMMYSTRUCTNAME.Reserved0
DUMMYSTRUCTNAME.IV
The Interrupt Vector (IV) field indicates the interrupt vector to use for this Completion Queue.
This value corresponds to the Message-signaled interrupt (MSI-X) vector or, if you are using a single message MSI or pin-based interrupts, the value is set to 0h
. In MSI-X, a maximum of 2K vectors are used.
This value should not be set to a value greater than the number of messages the controller supports. If it is, the controller will return a status of NVME_STATUS_INVALID_INTERRUPT_VECTOR.
AsUlong
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Header | nvme.h |