Функция 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 |