BuildIoRingCancelRequest 関数 (ioringapi.h)

以前に送信された I/O リング操作を取り消そうとします。

構文

HRESULT BuildIoRingCancelRequest(
  HIORING           ioRing,
  IORING_HANDLE_REF file,
  UINT_PTR          opToCancel,
  UINT_PTR          userData
);

パラメーター

ioRing

取り消しが要求される I/O リングへのハンドルを表す HIORING

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 リング操作は非同期的に実行されるため、この関数呼び出しは取り消しの要求にすぎません。 指定した操作は、取り消しが処理される前に完了する可能性があります。 取り消し操作は、取り消し中の操作が完了した後に完了する可能性があります。 取り消し操作の完了は、取り消す入出力操作の実際の完了に依存しません。 アプリは 、PopIoRingCompletion を呼び出して操作の最終的な状態を確認することで、完了キューで元の操作の完了を検索する必要があります。 この関数の呼び出しによって取り消されるのではなく、操作が正常に完了したか、エラーが発生している可能性があります。

要件

要件
サポートされている最小のクライアント Windows ビルド 22000
サポートされている最小のサーバー Windows ビルド 22000
Header ioringapi.h