尝试取消以前提交的 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_INFO的 IoRingVersion 字段,以确定 I/O 通道的 API 版本,该通道确定支持的作和标志。 应用程序应知道用于创建 I/O 圈的版本,因此不应在运行时提供不受支持的标志。 |
注解
由于 I/O 环作是异步执行的,因此此函数调用只是取消请求。 在处理取消之前,指定的作可能会完成。 取消作可能在取消作完成后完成。 取消作的完成不取决于取消的 I/O作的实际完成。 应用应通过调用 PopIoRingCompletion 来查找完成队列中原始作的完成情况,以观察作的最终状态。 该作可能已成功完成或出现错误,而不是被调用此函数取消。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 内部版本 22000 |
| 支持的最低服务器 | Windows 内部版本 22000 |
| Header | ioringapi.h |
| Library | kernel32。自由 |