XTaskQueueTerminate
保留中のすべての項目をキャンセルし、新しい項目がキューに登録されないようにすることで、タスク キューを終了します。構文
パラメーター
queue _In_Type: XTaskQueueHandle 終了するキューです。 wait _In_
Type: bool 終了処理の完了を待機するには true を指定します。 callbackContext _In_opt_
Type: void* コールバックに渡す省略可能なコンテキスト ポインターです。 callback _In_opt_
Type: XTaskQueueTerminatedCallback* キューの終了時に呼び出される省略可能なコールバックです。
戻り値
Type: HRESULT HRESULT の成功またはエラー コード。解説
この関数は、時間依存スレッドで呼び出しても安全ではありません。詳細については、Time-sensitive threads を参照してください。
- 両方のポートのすべてのコールバックが、canceled パラメーターが true に設定された状態で呼び出されます。
- ワーク ポートで保留中のすべてのコールバックがディスパッチされます。ワーク ポートに新しいコールバックを送信すると E_ABORT で失敗します。
- 完了ポートで保留中のすべてのコールバックがディスパッチされます。完了ポートに新しいコールバックを送信すると E_ABORT で失敗します。
- XTaskQueueTerminate はキュー ハンドルを閉じません。終了処理後も XTaskQueueCloseHandle を呼び出す必要があります。
- XTaskQueueDispatch を呼び出してキュー コールバックを処理しているスレッドで XTaskQueueTerminate を呼び出す場合は、wait パラメーターに true を渡さないでください。渡すとデッドロックが発生する可能性があります。
SubmitCallback は、XTaskQueueSubmitCallback 関数のコード例で定義されているヘルパー関数です。
要件
ヘッダー: XTaskQueue.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One ファミリ本体、XBOX Series 本体概念ドキュメント
関連項目
XTaskQueue members非同期プログラミング モデル
非同期タスク キューの設計
