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_INFOの IoRingVersion フィールドをチェックして、サポートされている操作とフラグを決定する I/O リングの API バージョンを決定する必要があります。 アプリケーションは、I/O リングの作成に使用したバージョンを認識している必要があるため、実行時にサポートされていないフラグを提供しないでください。 |
注釈
I/O リング操作は非同期的に実行されるため、この関数呼び出しは取り消しの要求にすぎません。 指定した操作は、取り消しが処理される前に完了する可能性があります。 取り消し操作は、取り消し中の操作が完了した後に完了する可能性があります。 取り消し操作の完了は、取り消す入出力操作の実際の完了に依存しません。 アプリは 、PopIoRingCompletion を呼び出して操作の最終的な状態を確認することで、完了キューで元の操作の完了を検索する必要があります。 この関数の呼び出しによって取り消されるのではなく、操作が正常に完了したか、エラーが発生している可能性があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows ビルド 22000 |
サポートされている最小のサーバー | Windows ビルド 22000 |
Header | ioringapi.h |