Поделиться через


Функция CreateIoRing (ioringapi.h)

Создает новый экземпляр пары очереди отправки и завершения цикла ввода-вывода и возвращает дескриптор для ссылки на IORING.

Синтаксис

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

Параметры

ioringVersion

UNIT32, представляющий версию 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