createIoRing 函数 (ioringapi.h)

创建 I/O 环提交/完成队列对的新实例,并返回用于引用 IORING 的句柄。

语法

HRESULT CreateIoRing(
  IORING_VERSION      ioringVersion,
  IORING_CREATE_FLAGS flags,
  UINT32              submissionQueueSize,
  UINT32              completionQueueSize,
  HIORING             *h
);

参数

ioringVersion

一个 UNIT32,表示为其创建环的 I/O 环 API 的版本。 此值必须小于或等于从调用 QueryIoRingCapabilities 检索的值

flags

指定创建标志的 IORING_CREATE_FLAGS 枚举中的值。

submissionQueueSize

请求的最小提交队列大小。 系统可能会根据需要舍入大小,以确保实际大小为 2 的幂。 可以通过调用 GetIoRingInfo 来获取实际分配的队列大小。 可以通过调用 QueryIoRingCapabilities 获取当前系统上的最大提交队列大小。

completionQueueSize

请求的完成队列的最小大小。 当某些操作仍在进行时,系统会将此大小四舍五入为 2,这不低于实际提交队列大小的两倍,以便允许提交。 可以通过调用 GetIoRingInfo 来获取实际分配的队列大小。

h

如果创建成功,则接收生成的 HIORING 句柄。 必须通过调用 CloseIoRing(而不是 CloseHandle)来关闭返回的 HIORING 环,以便释放 IORING 的基础资源。

返回值

HRESULT,包括但不限于以下内容:

说明
S_OK 成功。
IORING_E_UNKNOWN_VERSION ioringVersion 中指定的版本未知。

要求

要求
最低受支持的客户端 Windows 内部版本 22000
最低受支持的服务器 Windows 内部版本 22000
标头 ioringapi.h