次の方法で共有


NVME_CDW10_CREATE_IO_QUEUE union (nvme.h)

I/O 完了キューの作成コマンドおよび IO 送信キューの作成コマンドで使用されるパラメーターが含まれています。 I/O 入力候補キューの作成コマンドは、管理完了キューを除くすべての I/O 完了キューを作成するために使用され、I/O 送信キューの作成コマンドを使用して I/O 送信キューを作成します。

NVME_CDW10_CREATE_IO_QUEUE構造体は、コマンド構造の CREATEIOCQ パラメーターと CREATEIOSQ パラメーターの CDW10 フィールドで使用されます。

構文

typedef union {
  struct {
    ULONG QID : 16;
    ULONG QSIZE : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_CDW10_CREATE_IO_QUEUE, *PNVME_CDW10_CREATE_IO_QUEUE;

メンバー

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.QID

キュー識別子 (QID) フィールドは、作成する完了キューまたは送信キューに割り当てる識別子を示します。

この識別子は、Completion Queue コマンドに使用される Completion Queue Head Doorbell または Submission Queue コマンドに使用される 送信キュー Tail Doorbell のいずれかに対応します。

この 16 ビット ID 値は、I/O 入力候補キューまたは I/O 送信キューの NVME_FEATURE_NUMBER_OF_QUEUES 機能で報告された値を超えないようにする必要があります。 指定された値が である場合、 0h報告されたキューの数を超えているか、既に使用されている識別子に対応している場合、コントローラーは NVME_STATUS_INVALID_QUEUE_IDENTIFIER のエラーを返す必要があります。

DUMMYSTRUCTNAME.QSIZE

キュー サイズ (QSIZE) フィールドは、作成する完了キューまたは送信キューのサイズを示します。 キュー サイズは、キュー内のエントリの数を指定する 16 ビット 0 ベースのフィールドに示されます。

キューの最小サイズは 2 つのエントリです。 I/O 送信キューまたは I/O 完了キューの最大サイズは 64K エントリです。これは、NVME_CONTROLLER_CAPABILITIES構造体の「サポートされる最大キュー・エントリー(MQES)」フィールドで報告されるコントローラーでサポートされる最大キュー・サイズによって制限されます。

管理送信キューと管理完了キューの最大サイズは、4K エントリとして定義されます。 各キュー内の 1 つのエントリは、Head および Tail エントリ ポインター定義のために使用できません。

サイズがコントローラーでサポートされている 0h サイズ以上の場合、コントローラーは 無効なキュー サイズのエラーを返す必要があります。

AsUlong

要件

要件
サポートされている最小のクライアント Windows 10
Header nvme.h

こちらもご覧ください