BuildIoRingReadFile 函数 (ioringapi.h)
使用 I/O 环从文件执行异步读取。 此操作类似于调用 ReadFileEx。
语法
HRESULT BuildIoRingReadFile(
HIORING ioRing,
IORING_HANDLE_REF fileRef,
IORING_BUFFER_REF dataRef,
UINT32 numberOfBytesToRead,
UINT64 fileOffset,
UINT_PTR userData,
IORING_SQE_FLAGS sqeFlags
);
参数
ioRing
表示将执行读取操作的 I/O 环句柄的 HIORING 。
fileRef
指定要读取的文件 IORING_HANDLE_REF 。
dataRef
一个IORING_BUFFER_REF,指定将文件读入其中的缓冲区。 提供的缓冲区的大小必须至少为 numberOfBytesToRead 字节。
numberOfBytesToRead
要读取的字节数。
fileOffset
文件中要开始读取的偏移量。
userData
标识文件读取操作的UINT_PTR值。 通过调用 BuildIoRingCancelRequest 取消操作时指定此值。 如果应用为操作实现取消行为,则 userData 值必须是唯一的。 否则,系统会将该值视为不透明值,可以是任何值,包括 0。
sqeFlags
返回值
返回 HRESULT,包括但不限于以下内容:
值 | 说明 |
---|---|
S_OK | 成功 |
IORING_E_SUBMISSION_QUEUE_FULL | 提交队列已满,无法生成其他条目。 应用程序必须提交现有条目,并等待其中一些条目完成,然后才能向队列添加更多操作。 |
IORING_E_UNKNOWN_REQUIRED_FLAG | 应用程序提供了实现不知道的必需标志。 库代码应检查从调用 GetIoRingInfo 获取的IORING_INFO的 IoRingVersion 字段,以确定 I/O 环的 API 版本,该版本确定支持的操作和标志。 应用程序应知道用于创建 I/O 环的版本,因此不应在运行时提供不受支持的标志。 |
注解
通过调用 IsIoRingOpSupported 并为 op 参数指定IORING_OP_READ,检查对读取文件操作的 I/O 通道支持。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 内部版本 22000 |
最低受支持的服务器 | Windows 内部版本 22000 |
标头 | ioringapi.h |