Función CreateDispatcherQueueController (dispatcherqueue.h)
Crea un DispatcherQueueController. Use el dispatcherQueueController creado para crear y administrar la duración de un dispatcherQueue para ejecutar tareas en cola en orden de prioridad en el subproceso de la cola del distribuidor.
Sintaxis
HRESULT CreateDispatcherQueueController(
[in] DispatcherQueueOptions options,
[out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);
Parámetros
[in] options
Afinidad de subprocesos y tipo de apartamento COM para el dispatcherQueueController creado. Consulte los comentarios para obtener más información.
[out] dispatcherQueueController
Controlador de cola del distribuidor creado.
Valor devuelto
S_OK de éxito; de lo contrario, un código de error.
Comentarios
Introducido en Windows 10, versión 1709.
Si options.threadType es DQTYPE_THREAD_DEDICATED, esta función crea un subproceso, lo inicializa con el apartamento COM especificado y asocia un DispatcherQueue con ese subproceso. El bucle de eventos de cola del distribuidor se ejecuta en el nuevo subproceso dedicado hasta que la cola del distribuidor se cierra explícitamente. Para evitar pérdidas de memoria y subprocesos, llame a DispatcherQueueController.ShutdownQueueAsync cuando haya terminado con la cola del distribuidor.
Si options.threadType está DQTYPE_THREAD_CURRENT, se crea un DispatcherQueue y se asocia con el subproceso actual. Se produce un error si ya hay un DispatcherQueue asociado al subproceso actual. El subproceso actual debe bombear mensajes para permitir que la cola del distribuidor envíe tareas. Antes de salir del subproceso actual, debe llamar a DispatcherQueueController.ShutdownQueueAsync y continuar bombeando mensajes hasta que se complete IAsyncAction .
Esta llamada no se devuelve hasta que se crea el dispatcherQueueController y el subproceso nuevo (si existe).
Requisitos
Plataforma de destino | Windows |
Encabezado | dispatcherqueue.h |
Library | CoreMessaging.lib |
Archivo DLL | CoreMessaging.dll |