BuildIoRingCancelRequest 函式 (ioringapi.h)
嘗試取消先前提交的 I/O 通道作業。
語法
HRESULT BuildIoRingCancelRequest(
HIORING ioRing,
IORING_HANDLE_REF file,
UINT_PTR opToCancel,
UINT_PTR userData
);
參數
ioRing
HIORING,表示要求取消之 I/O 通道的句柄。
file
IORING_HANDLE_REF,表示與要取消之作業相關聯的檔案。
opToCancel
UINT_PTR指定要取消的作業。 此值在註冊作業時,在 userData 參數中提供的值相同。 若要支援取消, 每個作業的userData 值都必須是唯一的。
userData
識別取消作業的UINT_PTR值。 使用 對 BuildIoRingCancelRequest 的呼叫來取消作業時,請指定此值。 如果應用程式實作作業的取消行為, userData 值必須是唯一的。 否則,系統會將值視為不透明,而且可以是任何專案,包括0。
傳回值
值 | 描述 |
---|---|
S_OK | Success |
IORING_E_SUBMISSION_QUEUE_FULL | 提交佇列已滿,而且沒有其他專案可供建置。 應用程式必須提交現有的專案,並等待其中一些專案完成,再將更多作業新增至佇列。 |
IORING_E_UNKNOWN_REQUIRED_FLAG | 應用程式提供了實作不知道的必要旗標。 連結庫程式代碼應該檢查從 GetIoRingInfo 呼叫取得之IORING_INFO的 IoRingVersion 字段,以判斷 I/O 通道的 API 版本,以決定支援的作業和旗標。 應用程式應該知道他們用來建立 I/O 通道的版本,因此不應該在運行時間提供不支援的旗標。 |
備註
因為 I/O 通道作業是以異步方式執行,所以此函式呼叫只是取消的要求。 指定的作業可能會在處理取消之前完成。 取消作業可能會在作業完成之後完成。 取消作業完成不取決於它取消的實際 I/O 作業完成。 應用程式應該呼叫 PopIoRingCompletion 來觀察作業的最終狀態,以在完成佇列中尋找原始作業完成。 作業可能已順利完成,或發生錯誤,而不是由呼叫此函式取消。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 組建 22000 |
最低支援的伺服器 | Windows 組建 22000 |
標頭 | ioringapi.h |