Поделиться через


Функция CreateDispatcherQueueController (dispatcherqueue.h)

Создает DispatcherQueueController. Используйте созданный DispatcherQueueController для создания и управления временем существования DispatcherQueue для выполнения задач в очереди в порядке приоритета в потоке очереди диспетчера.

Синтаксис

HRESULT CreateDispatcherQueueController(
  [in]  DispatcherQueueOptions     options,
  [out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);

Параметры

[in] options

Сходство потоков и тип com-объекта для созданного DispatcherQueueController. Дополнительные сведения см. в примечаниях.

[out] dispatcherQueueController

Созданный контроллер очереди диспетчера.

ВажноDispatcherQueueController является объектом WinRT.
 

Возвращаемое значение

S_OK для успеха; в противном случае — код сбоя.

Комментарии

Появилось в Windows 10 версии 1709.

Если параметр options.threadTypeDQTYPE_THREAD_DEDICATED, то эта функция создает поток, инициализирует его указанным объектом COM и связывает DispatcherQueue с этим потоком. Цикл событий очереди диспетчера выполняется в новом выделенном потоке, пока очередь диспетчера не завершится явным образом. Чтобы избежать утечки потоков и памяти, вызовите DispatcherQueueController.ShutdownQueueAsync после завершения работы с очередью диспетчера.

Если параметр options.threadTypeDQTYPE_THREAD_CURRENT, создается dispatcherQueue и связывается с текущим потоком. Если с текущим потоком уже есть DispatcherQueue , возникает ошибка. Текущий поток должен перекачивать сообщения, чтобы позволить очереди диспетчера отправлять задачи. Перед завершением текущего потока он должен вызвать DispatcherQueueController.ShutdownQueueAsync и продолжать перекачку сообщений до завершения действия IAsyncAction .

Этот вызов не возвращается до тех пор, пока не будут созданы DispatcherQueueController и новый поток (если таковые имеются).

ВажноDispatcherQueueController и связанные с ним DispatcherQueue являются объектами WinRT. Подробные сведения об использовании см. в документации.
 

Требования

   
Целевая платформа Windows
Header dispatcherqueue.h
Библиотека CoreMessaging.lib
DLL CoreMessaging.dll

См. также раздел

DispatcherQueue

DispatcherQueueController