CreateDispatcherQueueController-Funktion (dispatcherqueue.h)
Erstellt einen DispatcherQueueController im Thread des Anrufers. Verwenden Sie den erstellten DispatcherQueueController , um die Lebensdauer eines DispatcherQueues zu erstellen und zu verwalten, um in der Prioritätsreihenfolge im Thread der Dispatcher-Warteschlange in der Warteschlange in Warteschlange Warteschlange zu führen.
Syntax
HRESULT CreateDispatcherQueueController(
[in] DispatcherQueueOptions options,
[out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);
Parameter
[in] options
Die Threading-Affinität und die Art der COM-Wohnung für den erstellten DispatcherQueueController. Weitere Informationen finden Sie in den Anmerkungen.
[out] dispatcherQueueController
Der erstellte Dispatcher-Warteschlangencontroller.
Rückgabewert
S_OK für Erfolg; andernfalls ein Fehlercode.
Hinweise
Eingeführt in Windows 10, Version 1709.
Wenn options.threadTypeDQTYPE_THREAD_DEDICATED ist, erstellt diese Funktion den dedizierten Thread und erstellt dann den DispatcherQueueController auf diesem Thread. Die Dispatcher-Ereignisschleife wird im neuen dedizierten Thread ausgeführt.
Eine Ereignisschleife wird asynchron auf einem Hintergrundthread ausgeführt, um Warteschlange-Aufgabenelemente an den neuen dedizierten Thread zu senden.
Wenn options.threadTypeDQTYPE_THREAD_CURRENT ist, wird die DispatcherQueueController-Instanz auf dem aktuellen Thread erstellt. Ein Fehler führt dazu, wenn bereits ein IDispatcherQueueController im aktuellen Thread vorhanden ist. Wenn Sie eine Dispatcherwarteschlange im aktuellen Thread erstellen, stellen Sie sicher, dass auf dem aktuellen Thread eine Nachrichtenpumpe ausgeführt wird, damit die Dispatcher-Warteschlange sie zum Senden von Aufgaben verwenden kann.
Dieser Aufruf wird erst zurückgegeben, wenn der neue Thread und der DispatcherQueueController erstellt werden. Der neue Thread wird mithilfe der angegebenen COM-Wohnung initialisiert.
Anforderungen
Zielplattform | Windows |
Kopfzeile | dispatcherqueue.h |
Bibliothek | CoreMessaging.lib |
DLL | CoreMessaging.dll |