Freigeben über


PsRegisterSystemAvailableCpusChangeNotification-Funktion (wdm.h)

Die PsRegisterSystemAvailableCpusChangeNotification-Funktion registriert einen Rückruf, der aufgerufen werden soll, wenn die cpUs, die für den Systemprozess verfügbar sind, geändert werden.

Syntax

NTSTATUS PsRegisterSystemAvailableCpusChangeNotification(
  [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] Callback

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

[in, optional] Context

Stellt einen Kontextparameter bereit, der an die Rückruffunktion übergeben wird.

[in, optional] ObservedSequenceNumber

Optionaler Zeiger auf die neueste verfügbare CPUs-Sequenznummer, die vom Aufrufer beobachtet wird. Wenn die Sequenznummer seit dieser Beobachtung fortgeschritten ist, wird sofort ein Rückruf ausgeführt.

[out] RegistrationHandle

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

Rückgabewert

PsRegisterSystemAvailableCpusChangeNotification 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 Systemprozess ändert. Dies kann aufgrund von CPU-Hotplug-Vorgängen oder anderen Systemereignissen auftreten, die sich auf die gesamte CPU-Verfügbarkeit auswirken.

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.

Diese Funktion überwacht systemweite CPU-Verfügbarkeitsänderungen im Gegensatz zu prozessspezifischen Änderungen, die von PsRegisterProcessAvailableCpusChangeNotification überwacht werden.

Anforderungen

Anforderung Wert
Überschrift wdm.h
IRQL PASSIVE_LEVEL

Siehe auch

PsUnregisterAvailableCpusChangeNotification

PsRegisterProcessAvailableCpusChangeNotification

PS_AVAILABLE_CPUS_CHANGE_CALLBACK