Skip to main content

XTaskQueueDispatch

指定されたポートのタスク キュー内の項目を処理します。

構文

パラメーター

queue   _In_
Type: XTaskQueueHandle
作業をディスパッチする対象のキューです。 port   _In_
Type: XTaskQueuePort
ディスパッチするポートです。 timeoutInMs   _In_
Type: uint32_t
false を返す前に作業の到着を待機するミリ秒数です。永久に待機するには INFINITE を渡すことができます。

戻り値

Type: bool この関数が呼び出しをディスパッチした場合は true を、そうでない場合は false を返します。この関数は、タイムアウトとして INFINITE が渡された場合でも、キューが終了している場合には false を返します。

解説

タイムアウトを渡すことができ、これにより XTaskQueueDispatch はキューに何かが到着するまで待機します。 タスク キュー ポートが XTaskQueueDispatchMode::ThreadPoolXTaskQueueDispatchMode::SerializedThreadPool、または XTaskQueueDispatchMode::Immediate のディスパッチ モードで作成されている場合、コールバックは自動的にディスパッチされます。手動ディスパッチ ポートについては XTaskQueueDispatch を呼び出す必要があります。XTaskQueueDispatch は任意のディスパッチ モードに対して呼び出すことができますが、呼び出しは常に XTaskQueueDispatch を呼び出したスレッド上でディスパッチされることに注意してください。 alert パフォーマンスに関する注:
上位のコードのパフォーマンス要件を満たすためには、キューへの項目の追加はロックフリーかつ待機フリーである必要があります。次の API はロックフリーです:
alert パフォーマンスに関する注:
XTaskQueueDispatch がワーク ポートからの項目を処理するときに費やす時間は変動し、実行される作業に依存します。 場合によっては、呼び出し元のスレッドは他のシステム作業の完了を待機してブロックされることがあります。
次の例では、XTaskQueueDispatch 関数を使用してタスク キュー内の項目を処理する方法を示します。
SubmitCallback は、XTaskQueueSubmitCallback 関数のコード例で定義されているヘルパー関数です。

要件

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

概念ドキュメント

関連項目

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