Função CreateDispatcherQueueController (dispatcherqueue.h)
Cria um DispatcherQueueController. Use o DispatcherQueueController criado para criar e gerenciar o tempo de vida de um DispatcherQueue para executar tarefas enfileiradas na ordem de prioridade no thread da fila do dispatcher.
Sintaxe
HRESULT CreateDispatcherQueueController(
[in] DispatcherQueueOptions options,
[out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);
Parâmetros
[in] options
A afinidade de threading e o tipo de apartment COM para o DispatcherQueueController criado. Confira comentários para obter detalhes.
[out] dispatcherQueueController
O controlador de fila do dispatcher criado.
Retornar valor
S_OK para o sucesso; caso contrário, um código de falha.
Comentários
Introduzido no Windows 10, versão 1709.
Se options.threadType for DQTYPE_THREAD_DEDICATED, essa função criará um thread, a inicializará com o apartment COM especificado e associará um DispatcherQueue a esse thread. O loop de evento da fila do dispatcher é executado no novo thread dedicado até que a fila do dispatcher seja desligada explicitamente. Para evitar vazamentos de thread e memória, chame DispatcherQueueController.ShutdownQueueAsync quando terminar de usar a fila do dispatcher.
Se options.threadType for DQTYPE_THREAD_CURRENT, um DispatcherQueue será criado e associado ao thread atual. Um erro resultará se já houver um DispatcherQueue associado ao thread atual. O thread atual deve bombear mensagens para permitir que a fila do dispatcher envie tarefas. Antes que o thread atual seja encerrado, ele deve chamar DispatcherQueueController.ShutdownQueueAsync e continuar bombeando mensagens até que o IAsyncAction seja concluído.
Essa chamada não retorna até que o DispatcherQueueController e o novo thread (se houver) sejam criados.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | dispatcherqueue.h |
Biblioteca | CoreMessaging.lib |
DLL | CoreMessaging.dll |