Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die PsQueryProcessAvailableCpus-Funktion fragt den Satz von CPUs ab, die für einen bestimmten Prozess zur Ausführung verfügbar sind.
Syntax
NTSTATUS PsQueryProcessAvailableCpus(
[in] PEPROCESS Process,
[in, out] PKAFFINITY_EX Affinity,
[in, optional] PULONG64 ObservedSequenceNumber,
[out] PULONG64 SequenceNumber
);
Die Parameter
[in] Process
Zeiger auf einen Prozess (PEPROCESS).
[in, out] Affinity
Zeiger auf ein erweitertes Affinitätsobjekt (PKAFFINITY_EX), das den Satz verfügbarer CPUs für den Prozess empfängt.
[in, optional] ObservedSequenceNumber
Stellt optional einen Zeiger auf die zuletzt vom Aufrufer beobachtete Sequenznummer über einen vorherigen Aufruf dieser Routine bereit. Wenn diese Sequenznummer der aktuellen Sequenznummer entspricht, gibt die Routine STATUS_NO_WORK_DONE zurück und schreibt nicht in den Affinitätspuffer.
[out] SequenceNumber
Zeigen Sie auf einen Puffer, der die aktuelle Sequenznummer für die verfügbaren CPUs für den angegebenen Prozess empfängt.
Rückgabewert
PsQueryProcessAvailableCpus gibt einen der folgenden NTSTATUS-Werte zurück:
| Rückgabecode | BESCHREIBUNG |
|---|---|
| STATUS_SUCCESS | Die Abfrage wurde erfolgreich abgeschlossen. |
| STATUS_INVALID_PARAMETER | Jeder der erforderlichen Puffer ist NULL. |
| STATUS_NO_WORK_DONE | Die angegebene Sequenznummer entspricht der aktuellen Sequenznummer, und es wurde keine Abfrage ausgeführt. |
| STATUS_BUFFER_TOO_SMALL | Der angegebene Affinitätspuffer ist zu klein. |
Bemerkungen
Diese Routine kann von PASSIVE_LEVEL zu DISPATCH_LEVEL bei IRQL aufgerufen werden.
Der Affinitätspuffer muss groß genug sein, um die Anzahl der aktiven Prozessorgruppen aufzunehmen. Verwenden Sie KeQueryActiveGroupCount , um die erforderliche Größe zu bestimmen.
Mit der Sequenznummer können Anrufer wiederholte Abfragen optimieren, indem überprüft wird, ob sich die CPU-Verfügbarkeit seit dem letzten Aufruf geändert hat.
Anforderungen
| Anforderung | Wert |
|---|---|
| Überschrift | wdm.h |
| IRQL | PASSIVE_LEVEL zum DISPATCH_LEVEL |