共用方式為


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_INFOIoRingVersion 字段,以判斷 I/O 通道的 API 版本,以決定支援的作業和旗標。 應用程式應該知道他們用來建立 I/O 通道的版本,因此不應該在運行時間提供不支援的旗標。

備註

因為 I/O 通道作業是以異步方式執行,所以此函式呼叫只是取消的要求。 指定的作業可能會在處理取消之前完成。 取消作業可能會在作業完成之後完成。 取消作業完成不取決於它取消的實際 I/O 作業完成。 應用程式應該呼叫 PopIoRingCompletion 來觀察作業的最終狀態,以在完成佇列中尋找原始作業完成。 作業可能已順利完成,或發生錯誤,而不是由呼叫此函式取消。

規格需求

需求
最低支援的用戶端 Windows 組建 22000
最低支援的伺服器 Windows 組建 22000
標頭 ioringapi.h