XTaskQueueSubmitDelayedCallback
指定されたポートのキューにコールバックを送信します。構文
パラメーター
queue _In_Type: XTaskQueueHandle コールバックを送信するキューです。 port _In_
Type: XTaskQueuePort コールバックを送信するポートです。コールバックはワーク ポートまたは完了ポートに割り当てることができます。 delayMs _In_
Type: uint32_t コールバックをキューに送信するまで遅延させるミリ秒数です。
コールバックは、将来のある時点でキューに追加されるように送信できます。delayMs が 0 以外の場合、コールバックは保留中リストに配置され、次に最も近い待機時間でタイマーが初期化されます。時間が経過すると、次に予定されているコールバックが実行リストに配置されます。キューは XTaskQueueMonitorCallback を発生させ、キューがスレッド プール ディスパッチ モードで動作している場合はスレッド プール作業が送信されます。
Type: void* コールバックに渡される省略可能なコンテキスト ポインターです。 callback _In_
Type: XTaskQueueCallback* コールバック関数へのポインターです。
戻り値
Type: HRESULT HRESULT の成功またはエラー コード。解説
このコールバックは delayMs ミリ秒後にキューに追加されます。上位のコードのパフォーマンス要件を満たすためには、キューへの項目の追加はロックフリーかつ待機フリーである必要があります。次の API はロックフリーです:
- XTaskQueueSubmitCallback
- XTaskQueueSubmitDelayedCallback
- XTaskQueueDispatch (ただし timeoutInMs に 0 が渡される場合)
SubmitCallback は、XTaskQueueSubmitCallback 関数のコード例で定義されているヘルパー関数です。
要件
ヘッダー: XTaskQueue.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One 本体、XBOX Series 本体関連項目
XTaskQueue members非同期プログラミング モデル
非同期タスク キューの設計
