Freigeben über


PsRegisterProcessAvailableCpusChangeNotification-Funktion (wdm.h)

Die PsRegisterProcessAvailableCpusChangeNotification-Funktion registriert einen Rückruf, der aufgerufen werden soll, wenn die cpUs, die für einen Prozess verfügbar sind, einer Änderung unterzogen werden.

Syntax

NTSTATUS PsRegisterProcessAvailableCpusChangeNotification(
  [in]           PEPROCESS                             Process,
  [in]           PS_AVAILABLE_CPUS_CHANGE_CALLBACK     *Callback,
  [in, optional] PVOID                                 Context,
  [in, optional] PULONG64                              ObservedSequenceNumber,
  [out]          PS_AVAILABLE_CPUS_CHANGE_REGISTRATION *RegistrationHandle
);

Die Parameter

[in] Process

Zeiger auf einen Prozess (PEPROCESS).

[in] Callback

Die Rückruffunktion, die aufgerufen werden soll. Dieser Parameter ist vom Typ PS_AVAILABLE_CPUS_CHANGE_CALLBACK.

[in, optional] Context

Zeiger auf einen Kontextparameter, der an die Rückruffunktion übergeben wird.

[in, optional] ObservedSequenceNumber

Stellt optional einen Zeiger auf die zuletzt verfügbare CPUs-Sequenznummer bereit, die vom Aufrufer beobachtet wird. Wenn die Sequenznummer seit dieser Beobachtung fortgeschritten ist, wird sofort ein Rückruf ausgeführt.

[out] RegistrationHandle

Stellt einen Zeiger auf einen Puffer bereit, der bei Erfolg ein Handle für die Rückrufregistrierung erhält (PS_AVAILABLE_CPUS_CHANGE_REGISTRATION).

Rückgabewert

PsRegisterProcessAvailableCpusChangeNotification gibt einen der folgenden NTSTATUS-Werte zurück:

Rückgabecode BESCHREIBUNG
STATUS_SUCCESS Der Rückruf wurde erfolgreich registriert.
STATUS_INSUFFICIENT_RESOURCES Der Rückruf konnte aufgrund unzureichender Systemressourcen nicht registriert werden.

Bemerkungen

Diese Routine muss bei PASSIVE_LEVEL aufgerufen werden.

Der Rückruf wird immer aufgerufen, wenn sich der Satz verfügbarer CPUs für den angegebenen Prozess ändert. Dies kann aufgrund von CPU-Hotplug-Vorgängen, Prozessaffinitätsänderungen oder anderen Systemereignissen auftreten.

Um die Registrierung des Rückrufs aufzuheben, rufen Sie PsUnregisterAvailableCpusChangeNotification mit dem von dieser Funktion zurückgegebenen Registrierungshandle auf.

Wenn eine ObservedSequenceNumber angegeben wird und die aktuelle Sequenznummer darüber hinaus fortgeschritten ist, wird der Rückruf sofort bei der Registrierung aufgerufen.

Anforderungen

Anforderung Wert
Überschrift wdm.h
IRQL PASSIVE_LEVEL

Siehe auch

PsUnregisterAvailableCpusChangeNotification

PsRegisterSystemAvailableCpusChangeNotification

PS_AVAILABLE_CPUS_CHANGE_CALLBACK