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


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

Регистрирует событие очереди завершения с помощью круга ввода-вывода.

Синтаксис

HRESULT SetIoRingCompletionEvent(
  HIORING ioRing,
  HANDLE  hEvent
);

Параметры

ioRing

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

hEvent

Дескриптор объекта события. Функция CreateEvent или OpenEvent возвращает этот дескриптор.

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

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

Значение Описание:
S_OK Успешное завершение
E_INVALID_HANDLE В параметре ioRing передан недопустимый дескриптор.
E_INVALIDARG В параметре hEvent передан недопустимый дескриптор.

Комментарии

Ядро будет сигнализировать об этом событии, когда помещает первую запись в пустую очередь завершения, т. е. ядро устанавливает событие в состояние сигнала только при переходе очереди завершения из пустого в непустое состояние. Приложения должны вызывать PopIoRingCompletion до тех пор, пока не будет указано больше записей, а затем ждать завершения дополнительных асинхронных завершений с помощью предоставленного HANDLE. В противном случае событие не перейдет в состояние сигнала, и ожидание может блокироваться до истечения времени ожидания или навсегда, если используется бесконечное время ожидания.

Ядро будет внутренне дублировать дескриптор, поэтому приложение безопасно закрыть дескриптор, когда ожидания больше не нужны. Предоставление значения обработчика событий NULL просто очищает любое существующее значение. Установка значения INVALID_HANDLE_VALUE вызывает ошибку, как и любое другое недопустимое значение дескриптора, чтобы упростить обнаружение ошибок кода на ранних этапах.

Существует не более одного дескриптора события, связанного с HIORING. Попытка установить второй дескриптор заменит уже существующий.

Требования

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

См. также раздел

PopIoRingCompletion