Prozess- und Threadfunktionen
In diesem Thema werden die Prozess- und Threadfunktionen beschrieben.
- Dispatch-Warteschlangenfunktion
- Prozessfunktionen
- Prozessenumerationsfunktionen
- Richtlinienfunktionen
- Threadfunktionen
- Erweiterte Attributfunktionen für Prozesse und Threads
- WOW64-Funktionen
- Auftragsobjektfunktionen
- Threadpoolfunktionen
- Funktionen des Thread order-Diensts
- Dienstfunktionen des Multimedia-Klassenplaners
- Fiber-Funktionen
- NUMA-Unterstützungsfunktionen
- Prozessorfunktionen
- Planungsfunktionen im Benutzermodus
- Veraltete Funktionen
Dispatch-Warteschlangenfunktion
Die folgende Funktion erstellt einen DispatcherQueueController.
| Funktion | BESCHREIBUNG |
|---|---|
| CreateDispatcherQueueController | Erstellt einen DispatcherQueueController, der die Lebensdauer einer DispatcherQueue verwaltet, die aufgaben in der Warteschlange in der Reihenfolge ihrer Priorität in einem anderen Thread ausgeführt wird. |
Prozessfunktionen
Die folgenden Funktionen werden mit Prozessen verwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| CreateProcess | Erstellt einen neuen Prozess und seinen primären Thread. |
| CreateProcessAsUser | Erstellt einen neuen Prozess und seinen primären Thread. Der neue Prozess wird im Sicherheitskontext des Benutzers ausgeführt, der durch das angegebene Token dargestellt wird. |
| CreateProcessWithLogonW | Erstellt einen neuen Prozess und seinen primären Thread. Der neue Prozess führt dann die angegebene ausführbare Datei im Sicherheitskontext der angegebenen Anmeldeinformationen (Benutzer, Domäne und Kennwort) aus. |
| CreateProcessWithTokenW | Erstellt einen neuen Prozess und seinen primären Thread. Der neue Prozess wird im Sicherheitskontext des angegebenen Tokens ausgeführt. |
| ExitProcess | Beendet den aufrufenden Prozess und alle seine Threads. |
| FlushProcessWriteBuffers | Leert die Schreibwarteschlange jedes Prozessors, auf dem ein Thread des aktuellen Prozesses ausgeführt wird. |
| FreeEnvironmentStrings | Gibt einen Block von Umgebungszeichenfolgen frei. |
| GetCommandLine | Ruft die Befehlszeilenzeichenfolge für den aktuellen Prozess ab. |
| GetCurrentProcess | Ruft ein Pseudohand handle für den aktuellen Prozess ab. |
| GetCurrentProcessId | Ruft den Prozessbezeichner des aufrufenden Prozesses ab. |
| GetCurrentProcessorNumber | Ruft die Anzahl des Prozessors ab, auf dem der aktuelle Thread während des Aufrufs dieser Funktion ausgeführt wurde. |
| GetEnvironmentStrings | Ruft den Umgebungsblock für den aktuellen Prozess ab. |
| Getenvironmentvariable | Ruft den Wert der angegebenen Variablen aus dem Umgebungsblock des aufrufenden Prozesses ab. |
| GetExitCodeProcess | Ruft den Beendigungsstatus des angegebenen Prozesses ab. |
| GetGuiResources | Ruft die Anzahl der Handles für GUI-Objekte (Grafische Benutzeroberfläche) ab, die vom angegebenen Prozess verwendet werden. |
| GetLogicalProcessorInformation | Ruft Informationen zu logischen Prozessoren und zugehöriger Hardware ab. |
| GetPriorityClass | Ruft die Prioritätsklasse für den angegebenen Prozess ab. |
| GetProcessAffinityMask | Ruft eine Prozessaffinitätsmaske für den angegebenen Prozess und die Systemaffinitätsmaske für das System ab. |
| GetProcessGroupAffinity | Ruft die Prozessorgruppenaffinität des angegebenen Prozesses ab. |
| GetProcessHandleCount | Ruft die Anzahl der offenen Handles ab, die zum angegebenen Prozess gehören. |
| GetProcessId | Ruft den Prozessbezeichner des angegebenen Prozesses ab. |
| GetProcessIdOfThread | Ruft den Prozessbezeichner des Prozesses ab, der dem angegebenen Thread zugeordnet ist. |
| GetProcessIoCounters | Ruft Kontoführungsinformationen für alle E/A-Vorgänge ab, die vom angegebenen Prozess ausgeführt werden. |
| GetProcessMitigationPolicy | Ruft Die Einstellungen der Entschärfungsrichtlinie für den aufrufenden Prozess ab. |
| GetProcessPriorityBoost | Ruft den Steuerungszustand der Prioritätssteigerung des angegebenen Prozesses ab. |
| GetProcessShutdownParameters | Ruft Die Parameter zum Herunterfahren für den derzeit aufrufenden Prozess ab. |
| GetProcessTimes | Ruft Zeitsteuerungsinformationen über für den angegebenen Prozess ab. |
| GetProcessVersion | Ruft die Haupt- und Nebenversionsnummern des Systems ab, auf dem der angegebene Prozess ausgeführt werden soll. |
| GetProcessWorkingSetSize | Ruft die minimale und maximale Arbeitssatzgröße des angegebenen Prozesses ab. |
| GetProcessWorkingSetSizeEx | Ruft die minimale und maximale Arbeitssatzgröße des angegebenen Prozesses ab. |
| GetProcessorSystemCycleTime | Ruft die Zykluszeit ab, die jeder Prozessor in der angegebenen Gruppe für die Ausführung von verzögerten Prozeduraufrufen (DEFERRED Procedure Calls, DPCs) und Interruptdienstroutinen (ISRs) verwendet hat. |
| GetStartupInfo | Ruft den Inhalt der STARTUPINFO-Struktur ab, die beim Erstellen des aufrufenden Prozesses angegeben wurde. |
| IsWelsiveProcess | Bestimmt, ob der Prozess zu einer Windows Store gehört. |
| NeedCurrentDirectoryForExePath | Bestimmt, ob das aktuelle Verzeichnis in den Suchpfad für die angegebene ausführbare Datei aufgenommen werden soll. |
| OpenProcess | Öffnet ein vorhandenes lokales Prozessobjekt. |
| QueryFullProcessImageName | Ruft den vollständigen Namen des ausführbaren Images für den angegebenen Prozess ab. |
| QueryProcessAffinityUpdateMode | Ruft den Affinitätsaktualisierungsmodus des angegebenen Prozesses ab. |
| QueryProcessCycleTime | Ruft die Summe der Zykluszeit aller Threads des angegebenen Prozesses ab. |
| Setenvironmentvariable | Legt den Wert einer Umgebungsvariablen für den aktuellen Prozess fest. |
| SetPriorityClass | Legt die Prioritätsklasse für den angegebenen Prozess fest. |
| SetProcessAffinityMask | Legt eine Prozessoraffinitätsmaske für die Threads eines angegebenen Prozesses fest. |
| SetProcessAffinityUpdateMode | Legt den Affinitätsaktualisierungsmodus des angegebenen Prozesses fest. |
| SetProcessInformation | Legt Informationen für den angegebenen Prozess fest. |
| SetProcessMitigationPolicy | Legt die Entschärfungsrichtlinie für den aufrufenden Prozess fest. |
| SetProcessPriorityBoost | Deaktiviert die Fähigkeit des Systems, die Priorität der Threads des angegebenen Prozesses vorübergehend zu erhöhen. |
| SetProcessRestrictionExemption | Ausgenommen des aufrufenden Prozesses von Einschränkungen, die verhindern, dass Desktopprozesse mit der Windows Store App-Umgebung interagieren. Diese Funktion wird von Entwicklungs- und Debugtools verwendet. |
| SetProcessShutdownParameters | Legt Parameter zum Herunterfahren für den aktuell aufrufenden Prozess fest. |
| SetProcessWorkingSetSize | Legt die minimale und maximale Arbeitssatzgröße für den angegebenen Prozess fest. |
| SetProcessWorkingSetSizeEx | Legt die minimale und maximale Arbeitssatzgröße für den angegebenen Prozess fest. |
| TerminateProcess | Beendet den angegebenen Prozess und alle zugehörigen Threads. |
Prozessenumerationsfunktionen
Die folgenden Funktionen werden verwendet, um Prozesse aufzuzählen.
| Funktion | BESCHREIBUNG |
|---|---|
| EnumProcesses | Ruft den Prozessbezeichner für jedes Prozessobjekt im System ab. |
| Process32First | Ruft Informationen zum ersten Prozess ab, der in einer Systemmomentaufnahme aufgetreten ist. |
| Process32Next | Ruft Informationen zum nächsten Prozess ab, der in einer Systemmomentaufnahme aufgezeichnet wird. |
| WTSEnumerateProcesses | Ruft Informationen zu den aktiven Prozessen auf dem angegebenen Terminalserver ab. |
Richtlinienfunktionen
Die folgenden Funktionen werden mit prozessweiten Richtlinien verwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| QueryProtectedPolicy | Fragt den Wert ab, der einer geschützten Richtlinie zugeordnet ist. |
| SetProtectedPolicy | Legt eine geschützte Richtlinie fest. |
Threadfunktionen
Die folgenden Funktionen werden mit Threadsverwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| AttachThreadInput | Fügt den Eingabeverarbeitungsmechanismus eines Threads an den eines anderen Threads an. |
| CreateRemoteThread | Erstellt einen Thread, der im virtuellen Adressraum eines anderen Prozesses ausgeführt wird. |
| CreateRemoteThreadEx | Erstellt einen Thread, der im virtuellen Adressraum eines anderen Prozesses ausgeführt wird und optional erweiterte Attribute angibt, z. B. Prozessorgruppenaffinität. |
| CreateThread | Erstellt einen Thread, der innerhalb des virtuellen Adressraums des aufrufenden Prozesses ausgeführt werden soll. |
| ExitThread | Beendet den aufrufenden Thread. |
| GetCurrentThread | Ruft ein Pseudohandle für den aktuellen Thread ab. |
| GetCurrentThreadId | Ruft den Threadbezeichner des aufrufenden Threads ab. |
| GetExitCodeThread | Ruft den Beendigungsstatus des angegebenen Threads ab. |
| GetThreadDescription | Ruft die Beschreibung ab, die einem Thread durch Aufrufen von SetThreadDescriptionzugewiesen wurde. |
| GetThreadGroupAffinity | Ruft die Prozessorgruppenaffinität des angegebenen Threads ab. |
| GetThreadId | Ruft den Threadbezeichner des angegebenen Threads ab. |
| GetThreadIdealProcessorEx | Ruft die Prozessornummer des idealen Prozessors für den angegebenen Thread ab. |
| GetThreadInformation | Ruft Informationen zum angegebenen Thread ab. |
| GetThreadIOPendingFlag | Bestimmt, ob für einen angegebenen Thread E/A-Anforderungen ausstehend sind. |
| GetThreadPriority | Ruft den Prioritätswert für den angegebenen Thread ab. |
| GetThreadPriorityBoost | Ruft den Steuerungszustand der Prioritäts boost des angegebenen Threads ab. |
| GetThreadTimes | Ruft Zeitsteuerungsinformationen für den angegebenen Thread ab. |
| OpenThread | Öffnet ein vorhandenes Threadobjekt. |
| QueryIdleProcessorCycleTime | Ruft die Zykluszeit für den Leerlaufthread jedes Prozessors im System ab. |
| QueryThreadCycleTime | Ruft die Zykluszeit für den angegebenen Thread ab. |
| ResumeThread | Dekrementiert die Suspendanzahl eines Threads. |
| SetThreadAffinityMask | Legt eine Prozessoraffinitätsmaske für den angegebenen Thread fest. |
| SetThreadDescription | Weist einem Thread eine Beschreibung zu. |
| SetThreadGroupAffinity | Legt die Prozessorgruppenaffinität für den angegebenen Thread fest. |
| SetThreadIdealProcessor | Gibt einen bevorzugten Prozessor für einen Thread an. |
| SetThreadIdealProcessorEx | Legt den idealen Prozessor für den angegebenen Thread fest und ruft optional den vorherigen idealen Prozessor ab. |
| SetThreadInformation | Legt Informationen für den angegebenen Thread fest. |
| SetThreadPriority | Legt den Prioritätswert für den angegebenen Thread fest. |
| SetThreadPriorityBoost | Deaktiviert die Fähigkeit des Systems, die Priorität eines Threads vorübergehend zu erhöhen. |
| SetThreadStackGuarantee | Legt die Stapelgarantie für den aufrufenden Thread fest. |
| Schlafen | Setzt die Ausführung des aktuellen Threads für ein angegebenes Intervall an. |
| SleepEx | Setzt den aktuellen Thread an, bis die angegebene Bedingung erfüllt ist. |
| SuspendThread | Setzt den angegebenen Thread an. |
| SwitchToThread | Bewirkt, dass der aufrufende Thread die Ausführung an einen anderen Thread übergibt, der auf dem aktuellen Prozessor ausgeführt werden kann. |
| TerminateThread | Beendet einen Thread. |
| ThreadProc | Eine anwendungsdefinierte Funktion, die als Startadresse für einen Thread dient. |
| TlsAlloc | Ordnet einen TLS-Index (Thread Local Storage) zu. |
| TlsFree | Gibt einen TLS-Index frei. |
| TlsGetValue | Ruft den Wert im TLS-Slot des aufrufenden Threads für einen angegebenen TLS-Index ab. |
| TlsSetValue | Speichert einen Wert im TLS-Slot des aufrufenden Threads für einen angegebenen TLS-Index. |
| Waitforinputidle | Wartet, bis der angegebene Prozess auf Benutzereingaben wartet, ohne dass eine Eingabe aussteht, oder bis das Time out-Intervall abgelaufen ist. |
Erweiterte Attributfunktionen für Prozesse und Threads
Mit den folgenden Funktionen werden erweiterte Attribute für die Prozess- und Threaderstellung festgelegt.
| Funktion | BESCHREIBUNG |
|---|---|
| DeleteProcThreadAttributeList | Löscht die angegebene Liste von Attributen für die Prozess- und Threaderstellung. |
| InitializeProcThreadAttributeList | Initialisiert die angegebene Liste von Attributen für die Prozess- und Threaderstellung. |
| UpdateProcThreadAttribute | Aktualisiert das angegebene Attribut in der angegebenen Liste von Attributen für die Prozess- und Threaderstellung. |
WOW64-Funktionen
Die folgenden Funktionen werden mit WOW64 verwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| IsWow64Message | Bestimmt, ob die letzte aus der Warteschlange des aktuellen Threads gelesene Nachricht von einem WOW64-Prozess stammt. |
| IsWow64Process | Bestimmt, ob der angegebene Prozess unter WOW64 ausgeführt wird. |
| IsWow64Process2 | Bestimmt, ob der angegebene Prozess unter WOW64 ausgeführt wird. gibt auch zusätzliche Informationen zum Computerprozess und zur Architektur zurück. |
| Wow64SuspendThread | Setzt den angegebenen WOW64-Thread an. |
Auftragsobjektfunktionen
Die folgenden Funktionen werden mit Auftragsobjekten verwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| AssignProcessToJobObject | Ordnet einem vorhandenen Auftragsobjekt einen Prozess zu. |
| CreateJobObject | Erstellt oder öffnet ein Auftragsobjekt. |
| IsProcessInJob | Bestimmt, ob der Prozess im angegebenen Auftrag ausgeführt wird. |
| OpenJobObject | Öffnet ein vorhandenes Auftragsobjekt. |
| QueryInformationJobObject | Ruft Limit- und Auftragsstatusinformationen aus dem Auftragsobjekt ab. |
| SetInformationJobObject | Legen Sie Grenzwerte für ein Auftragsobjekt fest. |
| TerminateJobObject | Beendet alle Prozesse, die dem Auftrag derzeit zugeordnet sind. |
| UserHandleGrantAccess | Gewährt oder verweigert einem Benutzerobjekt den Zugriff auf ein Handle für einen Auftrag, für den eine Benutzeroberflächeneinschränkung gilt. |
Threadpoolfunktionen
Die folgenden Funktionen werden mit Threadpools verwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| CallbackMayRunLong | Gibt an, dass der Rückruf möglicherweise nicht schnell zurückgibt. |
| CancelThreadpoolIo | Bricht die Benachrichtigung von der StartThreadpoolIo-Funktion ab. |
| CloseThreadpool | Schließt den angegebenen Threadpool. |
| CloseThreadpoolCleanupGroup | Schließt die angegebene Bereinigungsgruppe. |
| Closethreadpoolcleanupgroupmembers | Gibt die Member der angegebenen Bereinigungsgruppe frei, wartet auf den Abschluss aller Rückruffunktionen und bricht optional alle ausstehenden Rückruffunktionen ab. |
| CloseThreadpoolIo | Gibt das angegebene E/A-Abschlussobjekt frei. |
| CloseThreadpoolTimer | Gibt das angegebene Timerobjekt frei. |
| CloseThreadpoolWait | Gibt das angegebene Warteobjekt frei. |
| CloseThreadpoolWork | Gibt das angegebene Arbeitsobjekt frei. |
| CreateThreadpool | Ordnet einen neuen Threadpool zu, um Rückrufe auszuführen. |
| CreateThreadpoolCleanupGroup | Erstellt eine Bereinigungsgruppe, mit der Anwendungen einen oder mehrere Threadpoolrückrufe nachverfolgen können. |
| CreateThreadpoolIo | Erstellt ein neues E/A-Vervollständigungsobjekt. |
| CreateThreadpoolTimer | Erstellt ein neues Timerobjekt. |
| CreateThreadpoolWait | Erstellt ein neues Wait-Objekt. |
| CreateThreadpoolWork | Erstellt ein neues Arbeitsobjekt. |
| DestroyThreadpoolEnvironment | Löscht die angegebene Rückrufumgebung. Rufen Sie diese Funktion auf, wenn die Rückrufumgebung zum Erstellen neuer Threadpoolobjekte nicht mehr benötigt wird. |
| DisassociateCurrentThreadFromCallback | Entfernt die Zuordnung zwischen der derzeit ausgeführten Rückruffunktion und dem Objekt, das den Rückruf initiiert hat. Der aktuelle Thread zählt nicht mehr als Ausführen eines Rückrufs im Namen des -Objekts. |
| FreeLibraryWhenCallbackReturns | Gibt die DLL an, die der Threadpool entladen wird, wenn der aktuelle Rückruf abgeschlossen ist. |
| InitializeThreadpoolEnvironment | Initialisiert eine Rückrufumgebung. |
| IsThreadpoolTimerSet | Bestimmt, ob das angegebene Timerobjekt derzeit festgelegt ist. |
| LeaveCriticalSectionWhenCallbackReturns | Gibt den kritischen Abschnitt an, den der Threadpool nach Abschluss des aktuellen Rückrufs freigibt. |
| QueryThreadpoolStackInformation | Ruft die Stapelreserve- und Commitgrößen für Threads im angegebenen Threadpool ab. |
| ReleaseMutexWhenCallbackReturns | Gibt den Mutex an, den der Threadpool nach Abschluss des aktuellen Rückrufs freigibt. |
| ReleaseSemaphoreWhenCallbackReturns | Gibt das Semaphor an, das der Threadpool freigibt, wenn der aktuelle Rückruf abgeschlossen ist. |
| SetEventWhenCallbackReturns | Gibt das Ereignis an, das der Threadpool festlegt, wenn der aktuelle Rückruf abgeschlossen ist. |
| SetThreadpoolCallbackCleanupGroup | Ordnet die angegebene Bereinigungsgruppe der angegebenen Rückrufumgebung zu. |
| SetThreadpoolCallbackLibrary | Stellt sicher, dass die angegebene DLL geladen bleibt, solange ausstehende Rückrufe vorhanden sind. |
| SetThreadpoolCallbackPersistent | Gibt an, dass der Rückruf in einem persistenten Thread ausgeführt werden soll. |
| SetThreadpoolCallbackPool | Legt den Threadpool fest, der beim Generieren von Rückrufen verwendet werden soll. |
| SetThreadpoolCallbackPriority | Gibt die Priorität einer Rückruffunktion relativ zu anderen Arbeitselementen im gleichen Threadpool an. |
| SetThreadpoolCallbackRunsLong | Gibt an, dass Rückrufe, die dieser Rückrufumgebung zugeordnet sind, möglicherweise nicht schnell zurückgegeben werden. |
| SetThreadpoolStackInformation | Legt die Stapelreserve- und Commitgrößen für neue Threads im angegebenen Threadpool fest. |
| SetThreadpoolThreadMaximum | Legt die maximale Anzahl von Threads fest, die der angegebene Threadpool Prozessrückrufen zuordnen kann. |
| SetThreadpoolThreadMinimum | Legt die Mindestanzahl von Threads fest, die der angegebene Threadpool für die Verarbeitung von Rückrufen verfügbar machen muss. |
| SetThreadpoolTimerEx | Legt das Timerobjekt fest. Ein Arbeitsthread ruft den Rückruf des Timerobjekts auf, nachdem das angegebene Timeout abgelaufen ist. |
| SetThreadpoolTimer | Legt das Timerobjekt fest. Ein Arbeitsthread ruft den Rückruf des Timerobjekts auf, nachdem das angegebene Timeout abgelaufen ist. |
| SetThreadpoolWait | Legt das Wait-Objekt fest. Ein Arbeitsthread ruft die Rückruffunktion des Warteobjekts auf, nachdem das Handle signalisiert wurde oder das angegebene Timeout abläuft. |
| SetThreadpoolWaitEx | Legt das Wait-Objekt fest. Ein Arbeitsthread ruft die Rückruffunktion des Warteobjekts auf, nachdem das Handle signalisiert wurde oder das angegebene Timeout abläuft. |
| StartThreadpoolIo | Benachrichtigt den Threadpool, dass E/A-Vorgänge möglicherweise für das angegebene E/A-Abschlussobjekt beginnen können. Ein Arbeitsthread ruft die Rückruffunktion des E/A-Vervollständigungsobjekts auf, nachdem der Vorgang für das an dieses Objekt gebundene Dateihandle abgeschlossen wurde. |
| SubmitThreadpoolWork | Sendet ein Arbeitsobjekt an den Threadpool. Ein Arbeitsthread ruft die Rückruffunktion des Arbeitsobjekts auf. |
| TpInitializeCallbackEnviron | Initialisiert eine Rückrufumgebung für den Threadpool. |
| TpDestroyCallbackEnviron | Löscht die angegebene Rückrufumgebung. Rufen Sie diese Funktion auf, wenn die Rückrufumgebung zum Erstellen neuer Threadpoolobjekte nicht mehr benötigt wird. |
| TpSetCallbackActivationContext | Weist der Rückrufumgebung einen Aktivierungskontext zu. |
| TpSetCallbackCleanupGroup | Ordnet die angegebene Bereinigungsgruppe der angegebenen Rückrufumgebung zu. |
| TpSetCallbackFinalizationCallback | Gibt eine Funktion an, die aufgerufen werden soll, wenn die Rückrufumgebung abgeschlossen ist. |
| TpSetCallbackLongFunction | Gibt an, dass Rückrufe, die dieser Rückrufumgebung zugeordnet sind, möglicherweise nicht schnell zurückgegeben werden. |
| TpSetCallbackNoActivationContext | Gibt an, dass die Rückrufumgebung über keinen Aktivierungskontext verfügt. |
| TpSetCallbackPersistent | Gibt an, dass der Rückruf in einem persistenten Thread ausgeführt werden soll. |
| TpSetCallbackPriority | Gibt die Priorität einer Rückruffunktion relativ zu anderen Arbeitselementen im gleichen Threadpool an. |
| TpSetCallbackRaceWithDll | Stellt sicher, dass die angegebene DLL geladen bleibt, solange ausstehende Rückrufe vorhanden sind. |
| TpSetCallbackThreadpool | Weist einer Rückrufumgebung einen Threadpool zu. |
| TrySubmitThreadpoolCallback | Fordert an, dass ein Threadpoolworkerthread die angegebene Rückruffunktion aufruft. |
| WaitForThreadpoolIoCallbacks | Wartet auf den Abschluss ausstehender E/A-Abschlussrückrufe und bricht optional ausstehende Rückrufe ab, die noch nicht ausgeführt wurden. |
| WaitForThreadpoolTimerCallbacks | Wartet auf den Abschluss ausstehender Timerrückrufe und bricht optional ausstehende Rückrufe ab, deren Ausführung noch nicht gestartet wurde. |
| WaitForThreadpoolWaitCallbacks | Wartet auf den Abschluss ausstehender Warterückrufe und bricht optional ausstehende Rückrufe ab, die noch nicht ausgeführt wurden. |
| WaitForThreadpoolWorkCallbacks | Wartet auf den Abschluss ausstehender Arbeitsrückrufe und bricht optional ausstehende Rückrufe ab, die noch nicht ausgeführt wurden. |
Die folgenden Funktionen sind Teil der ursprünglichen Threadpooling-API.
| Funktion | BESCHREIBUNG |
|---|---|
| BindIoCompletionCallback | Ordnet den E/A-Abschlussport im Besitz des Threadpools dem angegebenen Dateihandle zu. Nach Abschluss einer E/A-Anforderung mit dieser Datei führt ein Nicht-E/A-Arbeitsthread die angegebene Rückruffunktion aus. |
| Queueuserworkitem | Reiht ein Arbeitselement in die Warteschlange eines Arbeitsthreads im Threadpool ein. |
| Registerwaitforsingleobject | Weist einen Wartethread im Threadpool an, auf das Objekt zu warten. |
| UnregisterWaitEx | Wartet, bis eines oder alle angegebenen Objekte im signalisierten Zustand sind oder das Time out-Intervall verstrichen ist. |
Funktionen des Threadreihenfolgediensts
Die folgenden Funktionen werden mit dem Threadreihenfolgedienstverwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| AvQuerySystemResponsiveness | Ruft die Vom Multimediaklassenplanerdienst verwendete Einstellung für die Systemreaktionsfähigkeit ab. |
| AvRtCreateThreadOrderingGroup | Erstellt eine Threadreihenfolgegruppe. |
| AvRtCreateThreadOrderingGroupEx | Erstellt eine Threadreihenfolgegruppe und ordnet den Serverthread einer Aufgabe zu. |
| AvRtDeleteThreadOrderingGroup | Löscht die angegebene Threadreihenfolgegruppe, die vom Aufrufer erstellt wurde. |
| AvRtJoinThreadOrderingGroup | Verbindet Clientthreads mit einer Threadreihenfolgegruppe. |
| AvRtLeaveThreadOrderingGroup | Ermöglicht Es Clientthreads, eine Threadreihenfolgegruppe zu verlassen. |
| AvRtWaitOnThreadOrderingGroup | Ermöglicht Es Clientthreads einer Threadreihenfolgegruppe, zu warten, bis sie ausgeführt werden sollen. |
Funktionen des Multimedia-Klassenplanerdiensts
Die folgenden Funktionen werden mit dem Multimediaklassenplanerdienstverwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| AvRevertMmThreadCharacteristics | Gibt an, dass ein Thread keine Der angegebenen Aufgabe zugeordneten Aufgaben mehr ausführt. |
| AvSetMmMaxThreadCharacteristics | Ordnet den aufrufenden Thread den angegebenen Aufgaben zu. |
| AvSetMmThreadCharacteristics | Ordnet den aufrufenden Thread der angegebenen Aufgabe zu. |
| AvSetMmThreadPriority | Passt die Threadpriorität des aufrufenden Threads relativ zu anderen Threads an, die dieselbe Aufgabe ausführen. |
Fiberfunktionen
Die folgenden Funktionen werden mit Fibersverwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| ConvertFiberToThread | Konvertiert die aktuelle Fiber in einen Thread. |
| ConvertThreadToFiber | Konvertiert den aktuellen Thread in eine Fiber. |
| ConvertThreadToFiberEx | Konvertiert den aktuellen Thread in eine Fiber. |
| CreateFiber | Ordnet ein Fiberobjekt zu, weist ihm einen Stapel zu und richtet die Ausführung ein, um an der angegebenen Startadresse zu beginnen. |
| CreateFiberEx | Ordnet ein Fiberobjekt zu, weist ihm einen Stapel zu und richtet die Ausführung ein, um an der angegebenen Startadresse zu beginnen. |
| DeleteFiber | Löscht eine vorhandene Fiber. |
| FiberProc | Eine anwendungsdefinierte Funktion, die mit der CreateFiber-Funktion verwendet wird. |
| FlsAlloc | Ordnet einen Fibre Local Storage-Index (FLS) zu. |
| FlsFree | Gibt einen FLS-Index frei. |
| FlsGetValue | Ruft den Wert im FLS-Slot der aufrufenden Fiber für einen angegebenen FLS-Index ab. |
| FlsSetValue | Speichert einen Wert im FLS-Slot der aufrufenden Fiber für einen angegebenen FLS-Index. |
| IsThreadAFiber | Bestimmt, ob der aktuelle Thread eine Fiber ist. |
| SwitchToFiber | Plant eine Fiber. |
NUMA-Unterstützungsfunktionen
Die folgenden Funktionen bieten NUMA-Unterstützung.
| Funktion | BESCHREIBUNG |
|---|---|
| AllocateUserPhysicalPagesNuma | Reserviert oder committet einen Speicherbereich innerhalb des virtuellen Adressraums des angegebenen Prozesses und gibt den NUMA-Knoten für den physischen Speicher an. |
| GetLogicalProcessorInformation | Ruft Informationen zu logischen Prozessoren und zugehöriger Hardware ab. |
| GetNumaAvailableMemoryNode | Ruft den im angegebenen Knoten verfügbaren Arbeitsspeicher ab. |
| GetNumaAvailableMemoryNodeEx | Ruft die Arbeitsspeichermenge ab, die im angegebenen Knoten als USHORT-Wert verfügbar ist. |
| GetNumaHighestNodeNumber | Ruft den Knoten ab, der derzeit über die höchste Zahl verfügt. |
| GetNumaNodeNumberFromHandle | Ruft den NUMA-Knoten ab, der dem zugrunde liegenden Gerät für ein Dateihandle zugeordnet ist. |
| GetNumaNodeProcessorMask | Ruft die Prozessormaske für den angegebenen Knoten ab. |
| GetNumaNodeProcessorMaskEx | Ruft die Prozessormaske für den angegebenen NUMA-Knoten als USHORT-Wert ab. |
| GetNumaProcessorNode | Ruft die Knotennummer für den angegebenen Prozessor ab. |
| GetNumaProcessorNodeEx | Ruft die Knotennummer des angegebenen logischen Prozessors als USHORT-Wert ab. |
| GetNumaProximityNode | Ruft die Knotennummer für den angegebenen Näherungsbezeichner ab. |
| GetNumaProximityNodeEx | Ruft die Knotennummer als USHORT-Wert für den angegebenen Näherungsbezeichner ab. |
| VirtualAllocExNuma | Reserviert oder committet einen Speicherbereich innerhalb des virtuellen Adressraums des angegebenen Prozesses und gibt den NUMA-Knoten für den physischen Speicher an. |
Prozessorfunktionen
Die folgenden Funktionen werden mit logischen Prozessoren und Prozessorgruppenverwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| GetActiveProcessorCount | Gibt die Anzahl der aktiven Prozessoren in einer Prozessorgruppe oder im System zurück. |
| GetActiveProcessorGroupCount | Gibt die Anzahl der aktiven Prozessorgruppen im System zurück. |
| GetCurrentProcessorNumber | Ruft die Anzahl des Prozessors ab, auf dem der aktuelle Thread während des Aufrufs dieser Funktion ausgeführt wurde. |
| GetCurrentProcessorNumberEx | Ruft die Prozessorgruppe und die Nummer des logischen Prozessors ab, in dem der aufrufende Thread ausgeführt wird. |
| GetLogicalProcessorInformation | Ruft Informationen zu logischen Prozessoren und zugehöriger Hardware ab. |
| GetLogicalProcessorInformationEx | Ruft Informationen zu den Beziehungen logischer Prozessoren und zugehöriger Hardware ab. |
| GetMaximumProcessorCount | Gibt die maximale Anzahl logischer Prozessoren zurück, über die eine Prozessorgruppe oder das System verfügen kann. |
| GetMaximumProcessorGroupCount | Gibt die maximale Anzahl von Prozessorgruppen zurück, über die das System verfügen kann. |
| QueryIdleProcessorCycleTime | Ruft die Zykluszeit für den Leerlaufthread jedes Prozessors im System ab. |
| QueryIdleProcessorCycleTimeEx | Ruft die akkumulierte Zykluszeit für den Leerlaufthread auf jedem logischen Prozessor in der angegebenen Prozessorgruppe ab. |
User-Mode Scheduling-Funktionen
Die folgenden Funktionen werden bei der Zeitplanung im Benutzermodus (User-Mode Scheduling, UMS) verwendet.
| Funktion | BESCHREIBUNG |
|---|---|
| CreateUmsCompletionList | Erstellt eine UMS-Vervollständigungsliste. |
| CreateUmsThreadContext | Erstellt einen UMS-Threadkontext zur Darstellung eines UMS-Arbeitsthreads. |
| DeleteUmsCompletionList | Löscht die angegebene UMS-Vervollständigungsliste. Die Liste muss leer sein. |
| DeleteUmsThreadContext | Löscht den angegebenen UMS-Threadkontext. Der Thread muss beendet werden. |
| DequeueUmsCompletionListItems | Ruft UMS-Arbeitsthreads aus der angegebenen UMS-Vervollständigungsliste ab. |
| EnterUmsSchedulingMode | Konvertiert den aufrufenden Thread in einen UMS-Schedulerthread. |
| ExecuteUmsThread | Führt den angegebenen UMS-Arbeitsthread aus. |
| GetCurrentUmsThread | Gibt den UMS-Threadkontext des aufrufenden UMS-Threads zurück. |
| GetNextUmsListItem | Gibt den nächsten UMS-Threadkontext in einer Liste von UMS-Threadkontexten zurück. |
| GetUmsCompletionListEvent | Ruft ein Handle für das Ereignis ab, das der angegebenen UMS-Vervollständigungsliste zugeordnet ist. |
| GetUmsSystemThreadInformation | Fragt ab, ob der angegebene Thread ein UMS-Planerthread, ein UMS-Arbeitsthread oder ein Nicht-UMS-Thread ist. |
| QueryUmsThreadInformation | Ruft Informationen zum angegebenen UMS-Arbeitsthread ab. |
| SetUmsThreadInformation | Legt anwendungsspezifische Kontextinformationen für den angegebenen UMS-Arbeitsthread fest. |
| UmsSchedulerProc | Die anwendungsdefinierte UMS-Planer-Einstiegspunktfunktion, die einer UMS-Vervollständigungsliste zugeordnet ist. |
| UmsThreadYield | Gibt die Steuerung an den UMS-Planerthread zurück, auf dem der aufrufende UMS-Arbeitsthread ausgeführt wird. |