Поделиться через


Функция BuildIoRingReadFile (ioringapi.h)

Выполняет асинхронное чтение из файла с помощью круга ввода-вывода. Эта операция аналогична вызову 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

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 Приложение предоставило обязательный флаг, который не известен реализации. Код библиотеки должен проверка поле IoRingVersionIORING_INFO, полученного при вызове GetIoRingInfo, чтобы определить версию API круга ввода-вывода, которая определяет поддерживаемые операции и флаги. Приложения должны знать версию, используемую для создания круга ввода-вывода, и поэтому не должны предоставлять неподдерживаемые флаги во время выполнения.

Комментарии

Проверьте поддержку кругов ввода-вывода для операций чтения файлов, вызвав IsIoRingOpSupported и указав IORING_OP_READ для параметра op .

Требования

Требование Значение
Минимальная версия клиента Сборка Windows 22000
Минимальная версия сервера Сборка Windows 22000
Верхняя часть ioringapi.h