структура SRBEX_DATA_NVME_COMMAND (srb.h)

Структура SRBEX_DATA_NVME_COMMAND позволяет пользователю обрамить и выполнить команду в формате NVMe. В настоящее время эта структура зарезервирована для использования системой.

Синтаксис

typedef struct _SRBEX_DATA_NVME_COMMAND {
  SRBEXDATATYPE Type;
  ULONG         Length;
  ULONG         CommandDWORD0;
  ULONG         CommandNSID;
  ULONG         Reserved0[2];
  ULONGLONG     CommandMPTR;
  ULONGLONG     CommandPRP1;
  ULONGLONG     CommandPRP2;
  ULONG         CommandCDW10;
  ULONG         CommandCDW11;
  ULONG         CommandCDW12;
  ULONG         CommandCDW13;
  ULONG         CommandCDW14;
  ULONG         CommandCDW15;
  UCHAR         CommandType;
  UCHAR         CommandFlags;
  union {
    struct {
      USHORT P : 1;
      USHORT SC : 8;
      USHORT SCT : 3;
      USHORT Reserved : 2;
      USHORT M : 1;
      USHORT DNR : 1;
    } DUMMYSTRUCTNAME;
    USHORT AsUshort;
  } CommandStatus;
  ULONG         QID;
  ULONG         CommandTag;
  ULONG         CQEntryDW0;
} SRBEX_DATA_NVME_COMMAND, *PSRBEX_DATA_NVME_COMMAND;

Члены

Type

Тип команды. В настоящее время для этого параметра необходимо задать значение SrbExDataTypeNvmeCommand.

Length

Размер этой структуры в байтах.

CommandDWORD0

Команда Dword 0 в команде NVMe (см. спецификацию NVMe).

CommandNSID

Идентификатор пространства имен в команде NVMe (см. спецификацию NVMe).

Reserved0[2]

Защищены; не использовать.

CommandMPTR

Указатель метаданных в команде NVMe (см. спецификацию NVMe).

CommandPRP1

Страница физического региона (PRP) Запись 1 в команде NVMe (см. спецификацию NVMe). Чтобы указать, что сведения о PRP присутствуют, пользователь должен установить флаг SRBEX_DATA_NVME_COMMAND_FLAG_PRP_SET_ALREADYSRBEX_DATA_NVME_COMMAND_FLAG.

CommandPRP2

PrP, запись 2 в команде NVMe (см. спецификацию NVMe). Чтобы указать, что сведения о PRP присутствуют, пользователь должен установить флаг SRBEX_DATA_NVME_COMMAND_FLAG_PRP_SET_ALREADYSRBEX_DATA_NVME_COMMAND_FLAG.

CommandCDW10

Dword 10 для конкретной команды (см. спецификацию NVMe).

CommandCDW11

Dword 11 для конкретной команды (см. спецификацию NVMe).

CommandCDW12

Dword 12 для конкретной команды (см. спецификацию NVMe).

CommandCDW13

Dword 13 для конкретной команды (см. спецификацию NVMe).

CommandCDW14

Dword 14 для конкретной команды (см. спецификацию NVMe).

CommandCDW15

Dword 15 для конкретной команды (см. спецификацию NVMe).

CommandType

Значение SRBEX_DATA_NVME_COMMAND_TYPE , указывающее тип команды NVMe.

CommandFlags

Значение SRBEX_DATA_NVME_COMMAND_FLAG , указывающее свойства этой команды NVMe для данных SRBEX.

CommandStatus

Поле состояния из записи Очередь завершения (см. спецификацию NVMe).

CommandStatus.DUMMYSTRUCTNAME

CommandStatus.DUMMYSTRUCTNAME.P

Тег Phase (P).

CommandStatus.DUMMYSTRUCTNAME.SC

Код состояния (SC).

CommandStatus.DUMMYSTRUCTNAME.SCT

Тип кода состояния (SCT).

CommandStatus.DUMMYSTRUCTNAME.Reserved

Зарезервировано.

CommandStatus.DUMMYSTRUCTNAME.M

Подробнее (M).

CommandStatus.DUMMYSTRUCTNAME.DNR

Не повторяйте попытку (DNR).

CommandStatus.AsUshort

QID

Идентификатор очереди, указанный пользователем (см. спецификацию NVMe). Если это не указано, задайте для этого значения значение 0xFFFFFFFF.

CommandTag

Уникальный идентификатор, заданный пользователем, для идентификатора команды, помечающего определенную команду. Пользователь может использовать CommandTag для трассировки результатов команды в трассировке событий Windows (ETW) (например, в журнале хранилища Просмотр событий).

CQEntryDW0

Запись очереди завершения DW0.

Требования

Требование Значение
Минимальная версия сервера Windows Server 2022
Верхняя часть srb.h

См. также раздел

SRBEX_DATA_NVME_COMMAND_FLAG

SRBEX_DATA_NVME_COMMAND_FLAG