CreateIoRing function (ioringapi.h)
Creates a new instance of an I/O ring submission/completion queue pair and returns a handle for referencing the IORING.
HRESULT CreateIoRing( IORING_VERSION ioringVersion, IORING_CREATE_FLAGS flags, UINT32 submissionQueueSize, UINT32 completionQueueSize, HIORING *h );
A UNIT32 representing the version of the I/O ring API the ring is created for. This value must be less than or equal to the value retrieved from a call to QueryIoRingCapabilities
A value from the IORING_CREATE_FLAGS enumeration specifying creation flags.
The requested minimum submission queue size. The system may round up the size as needed to ensure the actual size is a power of 2. You can get the actual allocated queue size by calling GetIoRingInfo. You can get the maximum submission queue size on the current system by calling QueryIoRingCapabilities.
The requested minimum size of the completion queue. The system will round this size up to a power of two that is no less than two times the actual submission queue size to allow for submissions while some operations are still in progress. You can get the actual allocated queue size by calling GetIoRingInfo.
Receives the resulting HIORING handle, if creation was successful. The returned HIORING ring must be closed by calling CloseIoRing, not CloseHandle, to release the underlying resources for the IORING.
An HRESULT, including but not limited to the following:
|IORING_E_UNKNOWN_VERSION||The version specified in ioringVersion is unknown.|
|Minimum supported client||Windows Build 22000|
|Minimum supported server||Windows Build 22000|