CoreDispatcher クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Windows ランタイムコア イベント メッセージ ディスパッチャーを提供します。 この型のインスタンスは、ウィンドウ メッセージを処理し、イベントをクライアントにディスパッチする役割を担います。
public ref class CoreDispatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class CoreDispatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class CoreDispatcher
Public NotInheritable Class CoreDispatcher
- 継承
- 属性
- 実装
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
注釈
この型のインスタンスは、CoreWindow.Dispatcher プロパティから取得できます。 現在の CoreWindow インスタンスは、 CoreWindow.GetForCurrentThread を呼び出すことで取得できます。
// App.cpp
...
// An implementation of IFrameworkView::Run.
void Run()
{
CoreWindow window{ CoreWindow::GetForCurrentThread() };
window.Activate();
CoreDispatcher dispatcher{ window.Dispatcher() };
dispatcher.ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}
// The CoreApplication::Run call indirectly calls the App::Run function above.
int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
{
CoreApplication::Run(App());
}
void MyCoreWindowEvents::Run() // this is an implementation of IFrameworkView::Run() used to show context. It is called by CoreApplication::Run().
{
CoreWindow::GetForCurrentThread()->Activate();
//...
CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}
プロパティ
CurrentPriority |
現在のタスクの優先度を取得および設定します。 |
HasThreadAccess |
CoreWindow のこのインスタンスによって提供されるイベント ディスパッチャーが現在のスレッドにアクセスできるかどうかを示す値を取得します。 |
メソッド
ProcessEvents(CoreProcessEventsOption) |
CoreWindow のこのインスタンスの入力イベント キューを処理するディスパッチャーを開始します。 |
RunAsync(CoreDispatcherPriority, DispatchedHandler) |
ワーカー スレッドから UI スレッドで指定されたコールバックをスケジュールし、非同期的に結果を返します。 |
RunIdleAsync(IdleDispatchedHandler) |
アイドル状態の優先度でワーカー スレッドから UI スレッドのコールバックをスケジュールし、結果を非同期的に返します。 |
ShouldYield() |
現在のタスクよりも優先度の高い項目がタスク キューに存在する場合に、呼び出し元が生成する必要があるかどうかをクエリします。 |
ShouldYield(CoreDispatcherPriority) |
指定した優先度以上のタスク キューに項目がある場合に呼び出し元が生成する必要があるかどうかをクエリします。 |
StopProcessEvents() |
ディスパッチャーがキューに登録されたイベントを処理するのを停止します。 |
TryRunAsync(CoreDispatcherPriority, DispatchedHandler) |
ワーカー スレッドから UI スレッドで指定されたコールバックのスケジュールを設定し、非同期的に結果を返します。 |
TryRunIdleAsync(IdleDispatchedHandler) |
アイドル状態の優先度でワーカー スレッドから UI スレッドでコールバックをスケジュールしようとし、非同期的に結果を返します。 |
イベント
AcceleratorKeyActivated |
アクセラレータ キーがアクティブになったときに発生します (押すか押したままにします)。 |