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
要求的完成佇列大小下限。 系統會將此大小四捨五入為兩倍的乘冪,也就是實際提交佇列大小不超過兩倍,以允許提交,而某些作業仍在進行中。 您可以呼叫 GetIoRingInfo 來取得實際配置的佇列大小。
h
如果建立成功,則會收到產生的 HIORING 句柄。 傳回的 HIORING 通道必須藉由呼叫 CloseIoRing 而非 CloseHandle 來關閉,才能釋放 IORING 的基礎資源。
傳回值
HRESULT,包括但不限於下列專案:
值 | 描述 |
---|---|
S_OK | 成功。 |
IORING_E_UNKNOWN_VERSION | ioringVersion 中指定的版本未知。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 組建 22000 |
最低支援的伺服器 | Windows 組建 22000 |
標頭 | ioringapi.h |