Skip to main content

XTaskQueueCreateComposite

他のタスク キューのポートで構成されるタスク キューを作成します。

構文

パラメーター

workPort   _In_
Type: XTaskQueuePortHandle
ワーク コールバックのキュー登録に使用するポートです。 completionPort   _In_
Type: XTaskQueuePortHandle
完了コールバックのキュー登録に使用するポートです。 queue   _Out_
Type: XTaskQueueHandle*
新しく作成されたキューです。

戻り値

Type: HRESULT HRESULT の成功またはエラー コード。

解説

この関数は、時間依存スレッドで呼び出しても安全ではありません。詳細については、Time-sensitive threads を参照してください。
タスク キューは参照カウントされたオブジェクトです。XTaskQueueCloseHandle を呼び出して参照を解放します。 タスク キューにはワーク ポートと完了ポートがあり、いずれのポートに対してもタスクをキューに登録できます。各ポートには独自のディスパッチ モードを構成できます。 ほとんどのシナリオでは、XTaskQueueCreate API を使用してタスク キューを作成します。ただし、複数の非同期呼び出しを連鎖させる場合には、XTaskQueueCreateComposite を使用してコンポジット キューを作成すると便利な場合があります。実装内でタスク キューを使用する別の API を呼び出す必要がある API を考えてみてください。API の完了コールバックをリダイレクトして、呼び出し元の完了スレッドを占有しないようにしたい場合があります。この場合、ワーク ポートと完了ポートを別のキューのワーク ポートから構築するコンポジット タスク キューを作成できます。 次の例では、コンポジット タスク キューを作成します。

要件

ヘッダー: XTaskQueue.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One 本体、XBOX Series 本体

概念ドキュメント

関連項目

XTaskQueue members
非同期プログラミング モデル
非同期タスク キューの設計
最終更新日 2026年8月24日