CoreDispatcher Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt den Windows-Runtime zentralen Ereignisnachrichtenverteiler bereit. Instanzen dieses Typs sind für die Verarbeitung der Fensternachrichten und das Senden der Ereignisse an den Client verantwortlich.
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
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Hinweise
Instanzen dieses Typs können von der CoreWindow.Dispatcher-Eigenschaft abgerufen werden. Die aktuelle CoreWindow-instance kann abgerufen werden, indem Sie CoreWindow.GetForCurrentThread aufrufen.
// 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);
}
Eigenschaften
CurrentPriority |
Ruft die Priorität der aktuellen Aufgabe ab und legt sie fest. |
HasThreadAccess |
Ruft einen Wert ab, der angibt, ob der von diesem instance von CoreWindow bereitgestellte Ereignisverteiler Zugriff auf den aktuellen Thread hat oder nicht. |
Methoden
ProcessEvents(CoreProcessEventsOption) |
Startet den Dispatcher mit der Verarbeitung der Eingabeereigniswarteschlange für diese instance von CoreWindow. |
RunAsync(CoreDispatcherPriority, DispatchedHandler) |
Plant den bereitgestellten Rückruf für den UI-Thread von einem Workerthread und gibt die Ergebnisse asynchron zurück. |
RunIdleAsync(IdleDispatchedHandler) |
Plant einen Rückruf für den UI-Thread von einem Workerthread bei Leerlaufpriorität und gibt die Ergebnisse asynchron zurück. |
ShouldYield() |
Fragt ab, ob der Aufrufer liefern soll, wenn in der Aufgabenwarteschlange Elemente mit höherer Priorität als die aktuelle Aufgabe vorhanden sind. |
ShouldYield(CoreDispatcherPriority) |
Fragt ab, ob der Aufrufer zurückgeben soll, wenn in der Aufgabenwarteschlange Elemente mit der angegebenen Priorität oder höher vorhanden sind. |
StopProcessEvents() |
Verhindert, dass der Verteiler alle Ereignisse in der Warteschlange verarbeitet. |
TryRunAsync(CoreDispatcherPriority, DispatchedHandler) |
Versucht, den angegebenen Rückruf für den UI-Thread von einem Workerthread zu planen, und gibt die Ergebnisse asynchron zurück. |
TryRunIdleAsync(IdleDispatchedHandler) |
Versucht, einen Rückruf für den UI-Thread von einem Workerthread bei Leerlaufpriorität zu planen, und gibt die Ergebnisse asynchron zurück. |
Ereignisse
AcceleratorKeyActivated |
Wird ausgelöst, wenn eine Tastenkombination aktiviert wird (gedrückt oder gedrückt gehalten). |