Compartilhar via


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.

Importante O DispatcherQueueController é um objeto WinRT.
 

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.

Importante O DispatcherQueueController e seu DispatcherQueue associado são objetos WinRT. Consulte a documentação deles para obter detalhes de uso.
 

Requisitos

   
Plataforma de Destino Windows
Cabeçalho dispatcherqueue.h
Biblioteca CoreMessaging.lib
DLL CoreMessaging.dll

Confira também

DispatcherQueue

DispatcherQueueController