Skip to main content

XTaskQueueRegisterWaiter

タスク キューに待機ハンドルを登録します。

構文

パラメーター

queue   _In_
Type: XTaskQueueHandle
コールバックを送信するキューです。 port   _In_
Type: XTaskQueuePort
コールバックを送信するポートです。コールバックはワーク ポートまたは完了ポートに割り当てることができます。 waitHandle   _In_
Type: HANDLE
監視するハンドルです。
これは、シグナル状態になったときにコールバックが呼び出されることになる待機ハンドルです。この待機ハンドルは通常、自動リセットまたは手動リセット イベントです。待機ハンドルが手動リセットの場合、イベントがシグナル状態である限り、コールバックは繰り返し呼び出されます。これが望ましくない場合は、コールバック内でイベントをリセットするか、待機コールバックの登録を解除してください。
callbackContext   _In_opt_
Type: void*
コールバックに渡される省略可能なコンテキスト ポインターです。 callback   _In_
Type: XTaskQueueCallback*
コールバック関数へのポインターです。 token   _Out_
Type: XTaskQueueRegistrationToken*
登録トークンです。これを XTaskQueueUnregisterWaiter に渡すことで、待機を登録解除できます。

戻り値

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

解説

この関数は、時間依存スレッドで呼び出しても安全ではありません。詳細については、Time-sensitive threads を参照してください。
待機ハンドルが満たされると、タスク キューは指定されたコールバックを呼び出します。これにより、ハンドルがシグナル状態になったときにタスク キューに項目を追加する効率的な方法が提供されます。 次の例では、Win32 カーネル ハンドルをタスク キューに登録します。ハンドルがシグナル状態になると、コールバックがキューに送信されます。通常はシグナル用に自動リセット イベントを作成します。ハンドルが自動リセットでない場合、ハンドルがシグナル状態である限り、現在のコールバックが完了すると新しいコールバックが送信されます。

要件

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

概念ドキュメント

関連項目

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