srb.h) (SRBEX_DATA_NVME_COMMAND 结构

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

NVMe 命令中的命令 Dword 0 (请参阅 NVMe 规范) 。

CommandNSID

NVMe 命令中的命名空间标识符 (请参阅 NVMe 规范) 。

Reserved0[2]

保留值;请勿使用。

CommandMPTR

NVMe 命令中的元数据指针 (请参阅 NVMe 规范) 。

CommandPRP1

NVMe 命令 (PRP) 条目 1 的物理区域页 (请参阅 NVMe 规范) 。 若要指示存在 PRP 信息,用户必须设置 SRBEX_DATA_NVME_COMMAND_FLAGSRBEX_DATA_NVME_COMMAND_FLAG_PRP_SET_ALREADY标志。

CommandPRP2

NVMe 命令中的 PRP 条目 2 (请参阅 NVMe 规范) 。 若要指示存在 PRP 信息,用户必须设置 SRBEX_DATA_NVME_COMMAND_FLAGSRBEX_DATA_NVME_COMMAND_FLAG_PRP_SET_ALREADY标志。

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

指定 NVMe 命令类型的 SRBEX_DATA_NVME_COMMAND_TYPE 值。

CommandFlags

一个SRBEX_DATA_NVME_COMMAND_FLAG值,该值指定此 SRBEX 数据 NVMe 命令的属性。

CommandStatus

“完成队列”条目中的“状态”字段 (请参阅 NVMe 规范) 。

CommandStatus.DUMMYSTRUCTNAME

CommandStatus.DUMMYSTRUCTNAME.P

阶段标记 (P) 。

CommandStatus.DUMMYSTRUCTNAME.SC

SC) 状态代码 (。

CommandStatus.DUMMYSTRUCTNAME.SCT

状态代码类型 (SCT) 。

CommandStatus.DUMMYSTRUCTNAME.Reserved

保留。

CommandStatus.DUMMYSTRUCTNAME.M

更多 (M) 。

CommandStatus.DUMMYSTRUCTNAME.DNR

不要重试 (DNR) 。

CommandStatus.AsUshort

QID

用户指定的队列 ID (查看 NVMe 规范) 。 如果未指定,请将此值设置为0xFFFFFFFF。

CommandTag

用于标记特定命令的命令标识符的唯一用户指定标识符。 用户可以使用 CommandTag 跟踪 Windows (ETW 事件跟踪中的命令结果,) 跟踪 (例如,在 事件查看器 的存储日志) 中。

CQEntryDW0

完成队列条目 DW0。

要求

要求
最低受支持的服务器 Windows Server 2022
标头 srb.h

另请参阅

SRBEX_DATA_NVME_COMMAND_FLAG

SRBEX_DATA_NVME_COMMAND_FLAG