GetPriorityClass-Funktion (processthreadsapi.h)

Ruft die Prioritätsklasse für den angegebenen Prozess ab. Dieser Wert bestimmt, gemeinsam mit dem Prioritätswert für jeden Thread des Prozesses, die Basisprioritätsebene jedes Threads.

Syntax

DWORD GetPriorityClass(
  [in] HANDLE hProcess
);

Parameter

[in] hProcess

Ein Handle für den Prozess.

Das Handle muss über das PROCESS_QUERY_INFORMATION - oder PROCESS_QUERY_LIMITED_INFORMATION-Zugriffsrecht verfügen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.

Windows Server 2003 und Windows XP: Das Handle muss über das zugriffsrecht PROCESS_QUERY_INFORMATION verfügen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Prioritätsklasse des angegebenen Prozesses.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Die Prioritätsklasse des Prozesses ist einer der folgenden Werte.

Rückgabecode/-wert BESCHREIBUNG
ABOVE_NORMAL_PRIORITY_CLASS
0x00008000
Prozess, der über NORMAL_PRIORITY_CLASS , aber unterhalb HIGH_PRIORITY_CLASS Priorität hat.
BELOW_NORMAL_PRIORITY_CLASS
0x00004000
Prozess, der über IDLE_PRIORITY_CLASS , aber unterhalb NORMAL_PRIORITY_CLASS Priorität hat.
HIGH_PRIORITY_CLASS
0x00000080
Prozess, der zeitkritische Aufgaben ausführt, die sofort ausgeführt werden müssen, damit er ordnungsgemäß ausgeführt wird. Die Threads eines Klassenprozesses mit hoher Priorität verdrängen die Threads normaler oder leerer Prioritätsklassenprozesse. Ein Beispiel ist die Aufgabenliste, die unabhängig von der Auslastung des Betriebssystems schnell reagieren muss, wenn der Benutzer aufgerufen wird. Verwenden Sie bei Verwendung der Klasse mit hoher Priorität äußerste Sorgfalt, da eine CPU-gebundene Anwendung mit hoher Priorität fast alle verfügbaren Zyklen verwenden kann.
IDLE_PRIORITY_CLASS
0x00000040
Prozess, dessen Threads nur ausgeführt werden, wenn sich das System im Leerlauf befindet und von den Threads eines Prozesses, der in einer Klasse mit höherer Priorität ausgeführt wird, vorzeitig entfernt wird. Ein Beispiel ist ein Bildschirmschoner. Diese Leerlauf-Prioritätsklasse wird von untergeordneten Prozessen geerbt.
NORMAL_PRIORITY_CLASS
0x00000020
Verarbeiten ohne besondere Terminplanungsanforderungen.
REALTIME_PRIORITY_CLASS
0x00000100
Prozess, der die höchstmögliche Priorität hat. Die Threads eines Echtzeitprioritätsklassenprozesses verdrängen die Threads aller anderen Prozesse, einschließlich Betriebssystemprozessen, die wichtige Aufgaben ausführen. Beispielsweise kann ein Echtzeitprozess, der mehr als ein sehr kurzes Intervall ausgeführt wird, dazu führen, dass Datenträgercaches nicht geleert werden oder die Maus nicht reagiert.

Hinweise

Jeder Thread verfügt über eine Basisprioritätsebene, die durch den Prioritätswert des Threads und die Prioritätsklasse des Prozesses bestimmt wird. Das Betriebssystem verwendet die Basisprioritätsebene aller ausführbaren Threads, um zu bestimmen, welcher Thread den nächsten Slice der CPU-Zeit erhält. Threads werden auf jeder Prioritätsebene im Roundrobin-Modus geplant, und nur wenn keine ausführbaren Threads auf einer höheren Ebene vorhanden sind, erfolgt die Planung von Threads auf einer niedrigeren Ebene.

Eine Tabelle mit den Basisprioritätsebenen für jede Kombination aus Prioritätsklasse und Threadprioritätswert finden Sie unter Planen von Prioritäten.

Die Prioritätsklasse wird von der Führungskraft verwaltet, sodass alle Prozesse über eine Prioritätsklasse verfügen, die abgefragt werden kann.

Beispiele

Ein Beispiel finden Sie unter Erstellen einer Momentaufnahme und Anzeigen von Prozessen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile processthreadsapi.h (einschließlich Windows.h unter Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

GetThreadPriority

Prozess- und Threadfunktionen

Prozesse

Planungsprioritäten

SetPriorityClass

SetThreadPriority