NVME_COMPLETION_QUEUE_HEAD_DOORBELL union (nvme.h)

Определяет регистр дверного звонка, который обновляет указатель головного входа для очереди завершения y.

Значение y эквивалентно идентификатору очереди, 16-битовому значению идентификатора, присваиваемому очереди при ее создании. Это значение указывает на записи очереди завершения, обработанные программным обеспечением узла.

Смещение очереди завершения y Head Doorbell (CQyHDBL) имеет следующий тип: (1000h + ((2y + 1) * (4 << CAP.DSTRD)))

Где CAP.DSTRD — значение поля DSTRD в NVME_CONTROLLER_CAPABILITIES.

Синтаксис

typedef union {
  struct {
    ULONG CQH : 16;
    ULONG Reserved0 : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_COMPLETION_QUEUE_HEAD_DOORBELL, *PNVME_COMPLETION_QUEUE_HEAD_DOORBELL;

Члены

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.CQH

Поле для чтения и записи, указывающее новое значение указателя входа "Голова очереди завершения".

Это значение перезапишет все ранее предоставленные значения заголовка очереди завершения (CQH). Разница между последней записью CQH и текущей записью указателя входа CQH указывает на количество записей, доступных для повторного использования контроллером в очереди завершения.

Примечание

Необходимо учитывать смену очереди завершения.

DUMMYSTRUCTNAME.Reserved0

Зарезервированное поле только для чтения.

AsUlong

Комментарии

Хозяин не должен считывать регистры дверного звонка. Если считывается регистр дверного звонка, возвращаемое значение зависит от поставщика. Запись в несуществующий звонок очереди завершения имеет неопределенные результаты.

Ведущее программное обеспечение должно продолжать обрабатывать записи очереди завершения в очередях завершения независимо от того, доступны ли записи в любой очереди отправки.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Верхняя часть nvme.h