Partager via


union NVME_CDW11_CREATE_IO_CQ (nvme.h)

Contient les paramètres de la commande Créer une file d’attente d’achèvement d’E/S, qui est utilisée pour créer toutes les files d’attente d’achèvement d’E/S, à l’exception de la file d’attente d’achèvement Administration.

La structure NVME_CDW11_CREATE_IO_CQ est utilisée dans le champ CDW11 du paramètre CREATEIOCQ de la structure Command .

Syntaxe

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;

Membres

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.PC

Le champ PC indique si la file d’attente d’achèvement est physiquement contiguë en mémoire.

Lorsque cette valeur est définie sur 1, la file d’attente d’achèvement est physiquement contiguë et l’entrée PRP 1 (PRP1 dans la structure de données de commande) est l’adresse d’une mémoire tampon physique contiguë. Si la valeur est effacée en 0, la file d’attente d’achèvement n’est pas physiquement contiguë et PRP1 est un pointeur de liste PRP.

Si la file d’attente se trouve dans la mémoire tampon du contrôleur et que le PC est effacé pour 0, le contrôleur échoue à la commande avec un status de NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER.

DUMMYSTRUCTNAME.IEN

Le champ Interruptions activées (IEN) indique si les interruptions sont activées pour cette file d’attente d’achèvement.

Lorsque la valeur est définie sur 1, les interruptions sont activées pour cette file d’attente d’achèvement. Lorsque la valeur est effacée en 0, les interruptions sont désactivées pour cette file d’attente d’achèvement.

DUMMYSTRUCTNAME.Reserved0

DUMMYSTRUCTNAME.IV

Le champ Vecteur d’interruption (IV) indique le vecteur d’interruption à utiliser pour cette file d’attente d’achèvement.

Cette valeur correspond au vecteur d’interruption signalée par message (MSI-X) ou, si vous utilisez un seul message MSI ou des interruptions basées sur des broches, la valeur est définie sur 0h. Dans MSI-X, un maximum de 2 000 vecteurs sont utilisés.

Cette valeur ne doit pas être définie sur une valeur supérieure au nombre de messages pris en charge par le contrôleur. Si tel est le cas, le contrôleur retourne une status de NVME_STATUS_INVALID_INTERRUPT_VECTOR.

AsUlong

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
En-tête nvme.h

Voir aussi