NVME_CDW11_CREATE_IO_CQ Union (nvme.h)
Enthält Parameter für den Befehl E/A-Vervollständigungswarteschlange erstellen, der zum Erstellen aller E/A-Vervollständigungswarteschlangen mit Ausnahme der Admin Vervollständigungswarteschlange verwendet wird.
Die NVME_CDW11_CREATE_IO_CQ-Struktur wird im CDW11-Feld des CREATEIOCQ-Parameters der Command-Struktur verwendet.
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;
Member
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.PC
Das Feld Physically Contiguous (PC) gibt an, ob die Vervollständigungswarteschlange im Arbeitsspeicher physisch zusammenhängend ist.
Wenn dieser Wert auf 1
festgelegt ist, ist die Vervollständigungswarteschlange physisch zusammenhängend, und PRP-Eintrag 1 (PRP1 in der Befehlsdatenstruktur) ist die Adresse eines zusammenhängenden physischen Puffers. Wenn der Wert auf 0
gelöscht wird, ist die Vervollständigungswarteschlange nicht physisch zusammenhängend, und PRP1 ist ein PRP-Listenzeiger.
Wenn sich die Warteschlange im Speicherpuffer des Controllers befindet und pc auf 0
deaktiviert ist, schlägt der Controller den Befehl mit einer status NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER fehl.
DUMMYSTRUCTNAME.IEN
Das Feld Interrupts Enabled (IEN) gibt an, ob Interrupts für diese Vervollständigungswarteschlange aktiviert sind.
Wenn der Wert auf 1
festgelegt ist, werden Interrupts für diese Vervollständigungswarteschlange aktiviert. Wenn der Wert in 0
gelöscht wird, werden Interrupts für diese Vervollständigungswarteschlange deaktiviert.
DUMMYSTRUCTNAME.Reserved0
DUMMYSTRUCTNAME.IV
Das Feld Interruptvektor (IV) gibt den Interruptvektor an, der für diese Vervollständigungswarteschlange verwendet werden soll.
Dieser Wert entspricht dem MSI-X-Vektor (Message-Signaled Interrupt, Message-Signaled Interrupt), oder, wenn Sie eine einzelne Nachrichten-MSI oder pinbasierte Interrupts verwenden, wird der Wert auf 0h
festgelegt. In MSI-X werden maximal 2K-Vektoren verwendet.
Dieser Wert sollte nicht auf einen Wert festgelegt werden, der größer als die Anzahl der vom Controller unterstützten Nachrichten ist. Wenn dies der Grund ist, gibt der Controller eine status von NVME_STATUS_INVALID_INTERRUPT_VECTOR zurück.
AsUlong
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Kopfzeile | nvme.h |