次の方法で共有


GameInput の作業キュー

GameInput API は時折、非同期の内部イベント (入力デバイスの接続/切断など) を処理する必要があります。 これらのイベントはあまり発生しません。 しかしながら、アプリケーションは、より頻繁なディスパッチが必要になる可能性があるコールバックを登録することもできます。 既定では、GameInput は少し上の優先順位で実行されるワーカー スレッド (THREAD_PRIORITY_ABOVE_NORMAL) を作成して、これらのイベントを処理します。

この操作が行われるタイミングおよびスレッド/プロセッサをより細かく制御する必要がある場合、アプリケーションは IGameInputDispatcher インターフェイスを介してこれらのイベントの処理を手動で制御できます。 このインターフェイスは、IGameInput インターフェイスの CreateDispatcher メソッドを呼び出して取得します。 このインターフェイスは、GameInput の内部作業キューからの手動ディスパッチ操作に使用できる 2 つのメソッドを公開します。 Dispatch メソッドは、GameInput の作業キューから保留中の操作をディスパッチするために使用されます (操作が存在する場合)。 アプリケーションはこのメソッドを定期的に呼び出すことができます。 または、ディスパッチャーの OpenWaitHandle メソッドから返されるハンドルを待機して、ディスパッチする必要がある操作がいつキューに入れられたかを検出できます。

アプリケーションでは、ディスパッチャー インターフェイスへの参照を保持している間は、操作のディスパッチを継続して制御することができます。 ディスパッチャー インターフェイスへの参照がすべて解放されると、GameInput は内部ワーカー スレッドを使用してイベントを処理する方法に戻ります。

関連項目

GameInput の基礎

GameInput の高度なトピック

Input API リファレンス