次の方法で共有


SRBEX_DATA_NVME_COMMAND構造体 (srb.h)

SRBEX_DATA_NVME_COMMAND 構造体を使用すると、ユーザーは NVMe 形式でコマンドをフレーム化して発行できます。 この構造体は現在、システム用に予約されています。

構文

typedef struct _SRBEX_DATA_NVME_COMMAND {
  SRBEXDATATYPE Type;
  ULONG         Length;
  union {
    PVOID     ControllerHandle;
    ULONGLONG Reserved0;
  };
  union {
    struct {
      ULONG     CommandDWORD0;
      ULONG     CommandNSID;
      ULONG     Reserved1[2];
      ULONGLONG CommandMPTR;
      union {
        struct {
          ULONGLONG CommandPRP1;
          ULONGLONG CommandPRP2;
        };
        ULONGLONG CommandSGL1[2];
      };
      ULONG     CommandCDW10;
      ULONG     CommandCDW11;
      ULONG     CommandCDW12;
      ULONG     CommandCDW13;
      ULONG     CommandCDW14;
      ULONG     CommandCDW15;
    };
    struct {
      UCHAR  OPC;
      UCHAR  PSDT;
      USHORT CID;
      UCHAR  FCTYPE;
      UCHAR  Reserved[35];
      UCHAR  Specific[24];
    } FabricsCommand;
    struct {
      ULONG OPC : 8;
      ULONG FUSE : 2;
      ULONG Reserved : 4;
      ULONG PSDT : 2;
      ULONG CID : 16;
      UCHAR TypeSpecific[60];
    } Command;
  };
  UCHAR         CommandType;
  UCHAR         Reserved2;
  USHORT        CommandFlags;
  USHORT        ResponseFlags;
  union {
    struct {
      USHORT P : 1;
      USHORT SC : 8;
      USHORT SCT : 3;
      USHORT CRD : 2;
      USHORT M : 1;
      USHORT DNR : 1;
    } DUMMYSTRUCTNAME;
    USHORT AsUshort;
  } CommandStatus;
  ULONG         QID;
  ULONG         CommandTag;
  union {
    struct {
      ULONG CQEntryDW0;
      ULONG CQEntryDW1;
    };
    UCHAR Specific[8];
  };
  USHORT        SQHD;
  USHORT        SQID;
} SRBEX_DATA_NVME_COMMAND, *PSRBEX_DATA_NVME_COMMAND;

メンバーズ

Type

コマンドの種類。 現在、これは SrbExDataTypeNvmeCommand に設定する必要があります。

Length

この構造体のサイズ (バイト単位)。

ControllerHandle

NVMe コントローラーのミニポートのハンドル。

Reserved0

引っ込み思案;使用しないでください。

CommandDWORD0

NVMe コマンド内のコマンド Dword 0 (NVMe の仕様を参照)。

CommandNSID

NVMe コマンド内の名前空間識別子 (NVMe 仕様を参照)。

Reserved1[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 Entry 2 (NVMe 仕様を参照)。 PRP 情報が存在することを示すには、ユーザーは SRBEX_DATA_NVME_COMMAND_FLAGSRBEX_DATA_NVME_COMMAND_FLAG_PRP_SET_ALREADY フラグを設定する必要があります。

CommandSGL1[2]

CommandCDW10

コマンド固有の Dword 10 (NVMe 仕様を参照)。

CommandCDW11

コマンド固有の Dword 11 (NVMe 仕様を参照)。

CommandCDW12

コマンド固有の Dword 12 (NVMe 仕様を参照)。

CommandCDW13

コマンド固有の Dword 13 (NVMe 仕様を参照)。

CommandCDW14

コマンド固有の Dword 14 (NVMe 仕様を参照)。

CommandCDW15

コマンド固有の Dword 15 (NVMe 仕様を参照)。

FabricsCommand

nvme.h での NVMEOF_FABRICS_COMMAND

FabricsCommand.OPC

オペコード (7Fh)。

FabricsCommand.PSDT

データ転送用の PRP または SGL。 (ビット 7:6 のみが使用され、残りは予約されています)。

FabricsCommand.CID

Fabrics コマンド識別子。

FabricsCommand.FCTYPE

Fabrics コマンドの種類。

FabricsCommand.Reserved[35]

FabricsCommand.Specific[24]

Command

コマンド DW0 を参照するには (NVMe の仕様を参照してください)。

Command.OPC

オペコード (OPC)。

Command.FUSE

融合操作 (FUSE)。

Command.Reserved

引っ込み思案;使用しないでください。

Command.PSDT

データ転送用の PRP または SGL。

Command.CID

コマンド識別子。

Command.TypeSpecific[60]

CommandType

NVMe コマンドの種類を指定する SRBEX_DATA_NVME_COMMAND_TYPE 値。

Reserved2

引っ込み思案;使用しないでください。

CommandFlags

この SRBEX データ NVMe コマンドのプロパティを指定する SRBEX_DATA_NVME_COMMAND_FLAG 値。

ResponseFlags

SRBEX_DATA_NVME_RESPONSE_FLAGで定義されます。

CommandStatus

完了キュー項目の状況フィールド (NVMe 仕様を参照)。

CommandStatus.DUMMYSTRUCTNAME

埋め込み構造。

CommandStatus.DUMMYSTRUCTNAME.P

フェーズ タグ (P)。

CommandStatus.DUMMYSTRUCTNAME.SC

状態コード (SC)。

CommandStatus.DUMMYSTRUCTNAME.SCT

状態コードの種類 (SCT)。

CommandStatus.DUMMYSTRUCTNAME.CRD

コマンド再試行遅延 (CRD)。

CommandStatus.DUMMYSTRUCTNAME.M

詳細 (M)。

CommandStatus.DUMMYSTRUCTNAME.DNR

再試行しないでください (DNR)。

CommandStatus.AsUshort

QID

ユーザー指定のキュー ID (NVMe の仕様を参照)。 指定しない場合は、この値を 0xFFFFFFFF に設定します。

CommandTag

特定のコマンドをマークするコマンド識別子の一意のユーザー指定識別子。 ユーザーは、CommandTag を使用して、イベント トレーシング for Windows (ETW) トレース (イベント ビューアーのストレージ ログなど) でコマンドの結果をトレースできます。

CQEntryDW0

完了キュー エントリ DW0。

CQEntryDW1

完了キュー エントリ DW1。

Specific[8]

SQHD

完了キュー エントリの SQ ヘッド ポインター。

SQID

SQ 識別子。

必要条件

要件 価値
サポートされる最小サーバー Windows Server 2022
ヘッダー srb.h

関連項目