次の方法で共有


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;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.QID

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

この識別子は、完了キュー コマンドに使用される 完了キュー ヘッド ドアベル またはサブミッション キュー コマンドに使用される サブミッション キュー 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)」フィールドで報告されるコントローラーでサポートされる最大キュー・サイズによって制限されます。

Admin Submission と Admin Completion Queue の最大サイズは、4K エントリとして定義されます。 各キュー内の 1 つのエントリは、ヘッドとテールのエントリ ポインター定義のために使用できません。

サイズが 0h またはコントローラーがサポートするサイズより大きい場合、コントローラーは 無効なキュー サイズのエラーを返す必要があります。

AsUlong

Requirements

Requirement 価値
サポートされる最小クライアント Windows 10
Header nvme.h

こちらも参照ください