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