CreateDispatcherQueueController 函数 (dispatcherqueue.h)
创建 DispatcherQueueController。 使用创建的 DispatcherQueueController 创建和管理 DispatcherQueue 的生存期,以在调度程序队列的线程上按优先级顺序运行排队任务。
语法
HRESULT CreateDispatcherQueueController(
[in] DispatcherQueueOptions options,
[out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);
参数
[in] options
创建的 DispatcherQueueController 的线程关联和 COM 单元类型。 有关详细信息,请参阅备注。
[out] dispatcherQueueController
创建的调度程序队列控制器。
返回值
成功S_OK ;否则为失败代码。
注解
在 Windows 10 版本 1709 中引入。
如果 options.threadTypeDQTYPE_THREAD_DEDICATED,则此函数将创建一个线程,使用指定的 COM 单元对其进行初始化,并将 DispatcherQueue 与该线程相关联。 调度程序队列事件循环在新专用线程上运行,直到调度程序队列显式关闭。 若要避免线程和内存泄漏,请在完成调度程序队列后调用 DispatcherQueueController.ShutdownQueueAsync 。
如果 options.threadTypeDQTYPE_THREAD_CURRENT,则会创建 DispatcherQueue 并与当前线程关联。 如果已存在与当前线程关联的 DispatcherQueue, 则会导致错误。 当前线程必须抽送消息,以允许调度程序队列调度任务。 在当前线程退出之前,它必须调用 DispatcherQueueController.ShutdownQueueAsync,并继续抽送消息,直到 IAsyncAction 完成。
如果创建了任何) ,则在 DispatcherQueueController 和新线程 (之前,此调用不会返回。
要求
目标平台 | Windows |
标头 | dispatcherqueue.h |
Library | CoreMessaging.lib |
DLL | CoreMessaging.dll |