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

Пытается отменить ранее отправленную кольцевую операцию ввода-вывода.

Синтаксис

HRESULT BuildIoRingCancelRequest(
  HIORING           ioRing,
  IORING_HANDLE_REF file,
  UINT_PTR          opToCancel,
  UINT_PTR          userData
);

Параметры

ioRing

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

file

IORING_HANDLE_REF, представляющий файл, связанный с отменяемой операцией.

opToCancel

UINT_PTR, указывающий операцию для отмены. Это значение совпадает с значением, указанным в параметре userData при регистрации операции. Для поддержки отмены значение userData должно быть уникальным для каждой операции.

userData

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

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

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

Комментарии

Так как операции с кругом ввода-вывода выполняются асинхронно, этот вызов функции является только запросом на отмену. Указанная операция может завершиться до обработки отмены. Операция отмены может завершиться после завершения отмененной операции. Завершение операции отмены не зависит от фактического завершения операций ввода-вывода, которые она отменяет. Приложения должны искать завершение исходной операции в очереди завершения, вызывая PopIoRingCompletion , чтобы отслеживать окончательное состояние операции. Операция может быть успешно завершена или с ошибкой, а не отменена вызовом этой функции.

Требования

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