Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция PsRegisterProcessAvailableCpusChangeNotification регистрирует обратный вызов при изменении ЦП, доступных для процесса.
Синтаксис
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
);
Параметры
[in] Process
Указатель на процесс (PEPROCESS).
[in] Callback
Вызываемая функция обратного вызова. Этот параметр имеет тип PS_AVAILABLE_CPUS_CHANGE_CALLBACK.
[in, optional] Context
Указатель на параметр контекста, который будет передан функции обратного вызова.
[in, optional] ObservedSequenceNumber
При необходимости предоставляет указатель на последний доступный номер последовательности ЦП, наблюдаемый вызывающим элементом. Если номер последовательности имеет расширенный с момента этого наблюдения, обратный вызов будет выполнен немедленно.
[out] RegistrationHandle
Предоставляет указатель на буфер, который при успешном выполнении получает дескриптор регистрации обратного вызова (PS_AVAILABLE_CPUS_CHANGE_REGISTRATION).
Возвращаемое значение
PsRegisterProcessAvailableCpusChangeNotification возвращает одно из следующих значений NTSTATUS:
| Код возврата | Описание |
|---|---|
| STATUS_SUCCESS | Обратный вызов успешно зарегистрирован. |
| СТАТУС_НЕДОСТАТОЧНЫЕ_РЕСУРСЫ | Обратный вызов не удалось зарегистрировать из-за нехватки системных ресурсов. |
Замечания
Эта подпрограмма должна вызываться в PASSIVE_LEVEL.
Обратный вызов будет вызываться всякий раз, когда набор доступных ЦП для указанного процесса изменяется. Это может произойти из-за операций с горячей загрузкой ЦП, изменений сходства процессов или других системных событий.
Чтобы отменить регистрацию обратного вызова, вызовите PsUnregisterAvailableCpusChangeNotification с дескриптором регистрации, возвращенным этой функцией.
Если указан параметр ObservedSequenceNumber и текущий номер последовательности превышает его, обратный вызов будет вызываться сразу после регистрации.
Требования
| Требование | Ценность |
|---|---|
| Заголовок | wdm.h |
| IRQL | пассивный уровень |
См. также
PsUnregisterAvailableCpusChangeNotification