BuildIoRingCancelRequest 函数 (ioringapi.h)

尝试取消以前提交的 I/O 环作。

Syntax

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

参数

ioRing

一个 HIORING ,表示请求取消的 I/O 环的句柄。

file

表示与要取消的作关联的文件的 IORING_HANDLE_REF

opToCancel

指定要取消的作 的UINT_PTR 。 此值是注册作时 userData 参数中提供的相同值。 若要支持取消, userData 值对于每个作必须是唯一的。

userData

标识取消作的UINT_PTR值。 使用对 BuildIoRingCancelRequest 的调用取消作时指定此值。 如果应用为作实现取消行为, 则 userData 值必须是唯一的。 否则,该值被系统视为不透明,可以是任何内容,包括 0。

返回值

价值 Description
S_OK 成功
IORING_E_SUBMISSION_QUEUE_FULL 提交队列已满,没有其他条目可供生成。 应用程序必须提交现有条目,并等待其中一些条目完成,然后再向队列添加更多作。
IORING_E_UNKNOWN_REQUIRED_FLAG 应用程序提供了一个对实现未知的必需标志。 库代码应检查从调用 GetIoRingInfo 获取的IORING_INFOIoRingVersion 字段,以确定 I/O 通道的 API 版本,该通道确定支持的作和标志。 应用程序应知道用于创建 I/O 圈的版本,因此不应在运行时提供不受支持的标志。

注解

由于 I/O 环作是异步执行的,因此此函数调用只是取消请求。 在处理取消之前,指定的作可能会完成。 取消作可能在取消作完成后完成。 取消作的完成不取决于取消的 I/O作的实际完成。 应用应通过调用 PopIoRingCompletion 来查找完成队列中原始作的完成情况,以观察作的最终状态。 该作可能已成功完成或出现错误,而不是被调用此函数取消。

要求

Requirement 价值
最低支持的客户端 Windows 内部版本 22000
支持的最低服务器 Windows 内部版本 22000
Header ioringapi.h
Library kernel32。自由