CoreDispatcher Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece o Windows Runtime dispatcher de mensagem de evento principal. Instâncias desse tipo são responsáveis por processar as mensagens da janela e expedir os eventos para o cliente.
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
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Comentários
Instâncias desse tipo podem ser obtidas da propriedade CoreWindow.Dispatcher. A instância atual do CoreWindow pode ser obtida chamando 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);
}
Propriedades
CurrentPriority |
Obtém e define a prioridade da tarefa atual. |
HasThreadAccess |
Obtém um valor que especifica se o dispatcher de eventos fornecido por esta instância do CoreWindow tem acesso ao thread atual ou não. |
Métodos
ProcessEvents(CoreProcessEventsOption) |
Inicia o dispatcher processando a fila de eventos de entrada para esta instância do CoreWindow. |
RunAsync(CoreDispatcherPriority, DispatchedHandler) |
Agenda o retorno de chamada fornecido no thread da interface do usuário de um thread de trabalho e retorna os resultados de forma assíncrona. |
RunIdleAsync(IdleDispatchedHandler) |
Agenda um retorno de chamada no thread da interface do usuário de um thread de trabalho com prioridade ociosa e retorna os resultados de forma assíncrona. |
ShouldYield() |
Consulta se o chamador deve render se houver itens na fila de tarefas de prioridade mais alta do que a tarefa atual. |
ShouldYield(CoreDispatcherPriority) |
Consulta se o chamador deve render se houver itens na fila de tarefas da prioridade especificada ou superior. |
StopProcessEvents() |
Impede que o dispatcher processe todos os eventos enfileirados. |
TryRunAsync(CoreDispatcherPriority, DispatchedHandler) |
Tenta agendar o retorno de chamada especificado no thread da interface do usuário de um thread de trabalho e retorna os resultados de forma assíncrona. |
TryRunIdleAsync(IdleDispatchedHandler) |
Tenta agendar um retorno de chamada no thread da interface do usuário de um thread de trabalho com prioridade ociosa e retorna os resultados de forma assíncrona. |
Eventos
AcceleratorKeyActivated |
Acionado quando uma tecla de acelerador é ativada (pressionada ou pressionada). |