BuildIoRingReadFile 函数 (ioringapi.h)

使用 I/O 通道从文件执行异步读取。 此作类似于调用 ReadFileEx

Syntax

HRESULT BuildIoRingReadFile(
  HIORING           ioRing,
  IORING_HANDLE_REF fileRef,
  IORING_BUFFER_REF dataRef,
  UINT32            numberOfBytesToRead,
  UINT64            fileOffset,
  UINT_PTR          userData,
  IORING_SQE_FLAGS  sqeFlags
);

参数

ioRing

一个 HIORING ,表示将执行读取作的 I/O 环的句柄。

fileRef

指定要读取的文件 的IORING_HANDLE_REF

dataRef

指定读取文件的缓冲区的 IORING_BUFFER_REF 。 提供的缓冲区的大小必须至少为 numberOfBytesToRead 字节。

numberOfBytesToRead

要读取的字节数。

fileOffset

要开始读取的文件的偏移量。

userData

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

sqeFlags

返回值

返回 HRESULT,包括但不限于以下内容:

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

注解

通过调用 IsIoRingOpSupported 并为参数指定IORING_OP_READ来检查 I/O 圈对读取文件作的支持。

要求

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