Функция PsRegisterSystemAvailableCpusChangeNotification (wdm.h)

Функция PsRegisterSystemAvailableCpusChangeNotification регистрирует обратный вызов при изменении ЦП, доступных для системного процесса.

Синтаксис

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

Параметры

[in] Callback

Указатель на вызываемую функцию обратного вызова. Этот параметр имеет тип PS_AVAILABLE_CPUS_CHANGE_CALLBACK.

[in, optional] Context

Предоставляет параметр контекста, который будет передан функции обратного вызова.

[in, optional] ObservedSequenceNumber

Необязательный указатель на последний доступный номер последовательности ЦП, наблюдаемый вызывающим абонентом. Если номер последовательности имеет расширенный с момента этого наблюдения, обратный вызов будет выполнен немедленно.

[out] RegistrationHandle

Указатель на буфер, который при успешном выполнении получает дескриптор регистрации обратного вызова (PS_AVAILABLE_CPUS_CHANGE_REGISTRATION).

Возвращаемое значение

PsRegisterSystemAvailableCpusChangeNotification возвращает одно из следующих значений NTSTATUS:

Код возврата Описание
STATUS_SUCCESS Обратный вызов успешно зарегистрирован.
СТАТУС_НЕДОСТАТОЧНЫЕ_РЕСУРСЫ Обратный вызов не удалось зарегистрировать из-за нехватки системных ресурсов.

Замечания

Эта подпрограмма должна вызываться в PASSIVE_LEVEL.

Обратный вызов будет вызываться всякий раз, когда набор доступных ЦП для системного процесса изменяется. Это может произойти из-за операций с горячей загрузкой ЦП или других системных событий, влияющих на общую доступность ЦП.

Чтобы отменить регистрацию обратного вызова, вызовите PsUnregisterAvailableCpusChangeNotification с дескриптором регистрации, возвращенным этой функцией.

Если указан параметр ObservedSequenceNumber и текущий номер последовательности превышает его, обратный вызов будет вызываться сразу после регистрации.

Эта функция отслеживает изменения доступности ЦП на уровне системы, а не изменения, отслеживаемые psRegisterProcessAvailableCpusChangeNotification.

Требования

Требование Ценность
Заголовок wdm.h
IRQL пассивный уровень

См. также

PsUnregisterAvailableCpusChangeNotification

PsRegisterProcessAvailableCpusChangeNotification

PS_AVAILABLE_CPUS_CHANGE_CALLBACK