Prozess- und Threadfunktionen

In diesem Thema werden die Prozess- und Threadfunktionen beschrieben.

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.

Veraltete Funktionen