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 |