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


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

Регистрирует массив дескрипторов файлов в системе для будущих операций ввода-вывода.

Синтаксис

HRESULT BuildIoRingRegisterFileHandles(
  HIORING         ioRing,
  UINT32          count,
  HANDLE const [] handles,
  UINT_PTR        userData
);

Параметры

ioRing

HIORING, представляющий дескриптор круга ввода-вывода, для которого регистрируются дескрипторы файлов.

count

Объект UINT32, указывающий количество дескрипторов, указанных в параметре handles .

handles

Массив регистраемых значений HANDLE.

userData

Значение UINT_PTR, определяющее операцию регистрации. Укажите это значение при отмене операции с вызовом BuildIoRingCancelRequest. Если приложение реализует поведение отмены для операции, значение userData должно быть уникальным. В противном случае значение рассматривается системой как непрозрачное и может быть любым, включая 0.

Возвращаемое значение

Возвращает HRESULT, включая, помимо прочего, следующее:

Значение Описание:
S_OK Успешное завершение
IORING_E_SUBMISSION_QUEUE_FULL Очередь отправки заполнена, и дополнительные записи для сборки недоступны. Приложение должно отправить существующие записи и дождаться завершения некоторых из них перед добавлением дополнительных операций в очередь.
IORING_E_UNKNOWN_REQUIRED_FLAG Приложение предоставило обязательный флаг, который не известен реализации. Код библиотеки должен проверка поле IoRingVersionIORING_INFO, полученного из вызова GetIoRingInfo для определения версии API круга ввода-вывода, определяющего поддерживаемые операции и флаги. Приложения должны знать версию, используемую для создания круга ввода-вывода, и поэтому не должны предоставлять неподдерживаемые флаги во время выполнения.

Комментарии

Эта функция позволяет реализации ядра выполнять проверку и внутреннее сопоставление только один раз, чтобы избежать накладных расходов на каждую операцию ввода-вывода. Последующие записи в очереди отправки могут ссылаться на дескрипторы, зарегистрированные с помощью этой функции, используя целочисленный индекс в массиве. Если предыдущая регистрация существует, она полностью заменяет предыдущую регистрацию.

Требования

   
Минимальная версия клиента Сборка Windows 22000
Минимальная версия сервера Сборка Windows 22000
Верхняя часть ioringapi.h