Freigeben über


CreateDispatcherQueueController-Funktion (dispatcherqueue.h)

Erstellt einen DispatcherQueueController. Verwenden Sie den erstellten DispatcherQueueController , um die Lebensdauer eines DispatcherQueue-Vorgangs zu erstellen und zu verwalten, um Aufgaben in der Warteschlange in der Priorität im Thread der Verteilerwarteschlange auszuführen.

Syntax

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

Parameter

[in] options

Die Threadingaffinität und der Typ des COM-Apartments für den erstellten DispatcherQueueController. Weitere Informationen finden Sie in den Anmerkungen.

[out] dispatcherQueueController

Der erstellte Dispatcher-Warteschlangencontroller.

Wichtig Der DispatcherQueueController ist ein WinRT-Objekt.
 

Rückgabewert

S_OK auf Erfolg; andernfalls ein Fehlercode.

Hinweise

Eingeführt in Windows 10 Version 1709.

Wenn options.threadTypeDQTYPE_THREAD_DEDICATED ist, erstellt diese Funktion einen Thread, initialisiert ihn mit dem angegebenen COM-Apartment und ordnet diesem Thread eine DispatcherQueue zu. Die Ereignisschleife der Dispatcherwarteschlange wird im neuen dedizierten Thread ausgeführt, bis die Verteilerwarteschlange explizit heruntergefahren wird. Um Thread- und Speicherverluste zu vermeiden, rufen Sie DispatcherQueueController.ShutdownQueueAsync auf, wenn Sie mit der Verteilerwarteschlange fertig sind.

Wenn options.threadTypeDQTYPE_THREAD_CURRENT ist, wird eine DispatcherQueue erstellt und dem aktuellen Thread zugeordnet. Ein Fehler tritt auf, wenn dem aktuellen Thread bereits eine DispatcherQueue zugeordnet ist. Der aktuelle Thread muss Nachrichten pumpen, damit die Verteilerwarteschlange Aufgaben senden kann. Bevor der aktuelle Thread beendet wird, muss er DispatcherQueueController.ShutdownQueueAsync aufrufen und mit dem Pumpen von Nachrichten fortfahren, bis die IAsyncAction abgeschlossen ist.

Dieser Aufruf wird erst zurückgegeben, wenn der DispatcherQueueController und der neue Thread (falls vorhanden) erstellt wurden.

Wichtig Der DispatcherQueueController und der zugehörige DispatcherQueue sind WinRT-Objekte. Nutzungsdetails finden Sie in der dokumentation.
 

Anforderungen

   
Zielplattform Windows
Kopfzeile dispatcherqueue.h
Bibliothek CoreMessaging.lib
DLL CoreMessaging.dll

Weitere Informationen

DispatcherQueue

DispatcherQueueController