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
HIORING,代表將執行讀取作業之 I/O 通道的句柄。
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 |