Ist eine zusätzliche Konfiguration erforderlich, bevor ich Thread-Prioritäten in einem Windows-Dienst festlegen kann?
In meinem Dienst habe ich ein paar Threads, die jeweils die CreateProcess()
Funktion zum Starten einer externen Anwendung. Ich möchte die Prioritäten der Threads (oder Prozesse) wie folgt anpassen normal
o lower
und hängt von einigen anderen Faktoren ab.
Das Problem ist, dass SetThreadPriority()
Funktion schlägt mit einem Fehler 6 (ungültiges Handle?) fehl. Ich übergebe ein Handle, das ich von PROCESS_INFORMATION::hThread
(nach dem Aufruf der CreateProcess()
natürlich), so dass ich denke, dass der Griff debe gültig sein.
Ich habe auch versucht, die Priorität der Prozesse mit der Option SetPriorityClass()
Funktion, die ebenfalls fehlschlägt.
Der Dienst ist als lokaler Benutzer angemeldet.