CoreDispatcher Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit le répartiteur de messages d’événement principal Windows Runtime. Les instances de ce type sont responsables du traitement des messages de fenêtre et de la distribution des événements au client.
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
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Remarques
Les instances de ce type peuvent être obtenues à partir de la propriété CoreWindow.Dispatcher. Le instance CoreWindow actuel peut être obtenu en appelant 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);
}
Propriétés
CurrentPriority |
Obtient et définit la priorité de la tâche actuelle. |
HasThreadAccess |
Obtient une valeur qui spécifie si le répartiteur d’événements fourni par cette instance de CoreWindow a ou non accès au thread actuel. |
Méthodes
ProcessEvents(CoreProcessEventsOption) |
Démarre le répartiteur en traitant la file d’attente d’événements d’entrée pour cette instance de CoreWindow. |
RunAsync(CoreDispatcherPriority, DispatchedHandler) |
Planifie le rappel fourni sur le thread d’interface utilisateur à partir d’un thread de travail et retourne les résultats de manière asynchrone. |
RunIdleAsync(IdleDispatchedHandler) |
Planifie un rappel sur le thread d’interface utilisateur à partir d’un thread de travail à priorité inactive et retourne les résultats de façon asynchrone. |
ShouldYield() |
Demande si l’appelant doit produire s’il y a des éléments dans la file d’attente de tâches dont la priorité est supérieure à celle de la tâche actuelle. |
ShouldYield(CoreDispatcherPriority) |
Demande si l’appelant doit produire s’il y a des éléments dans la file d’attente de tâches de la priorité spécifiée ou supérieure. |
StopProcessEvents() |
Empêche le répartiteur de traiter tous les événements mis en file d’attente. |
TryRunAsync(CoreDispatcherPriority, DispatchedHandler) |
Tente de planifier le rappel spécifié sur le thread d’interface utilisateur à partir d’un thread de travail et retourne les résultats de manière asynchrone. |
TryRunIdleAsync(IdleDispatchedHandler) |
Tente de planifier un rappel sur le thread d’interface utilisateur à partir d’un thread de travail à priorité inactive et retourne les résultats de manière asynchrone. |
Événements
AcceleratorKeyActivated |
Déclenché lorsqu’une touche d’accélérateur est activée (enfoncée ou maintenue). |