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 | Success |
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 |