Skip to main content

XTaskQueueCreate

呼び出しをキューに登録してディスパッチするために使用できるタスク キューを作成します。

構文

パラメーター

workDispatchMode   _In_
Type: XTaskQueueDispatchMode
キューの「ワーク」ポートのディスパッチ モードです。 completionDispatchMode   _In_
Type: XTaskQueueDispatchMode
キューの「完了」ポートのディスパッチ モードです。 queue   _Out_
Type: XTaskQueueHandle*
新しく作成されたキューです。

戻り値

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

解説

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

要件

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

概念ドキュメント

関連項目

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