Поделиться через


функция PS_AVAILABLE_CPUS_CHANGE_CALLBACK (wdm.h)

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

Синтаксис

VOID PS_AVAILABLE_CPUS_CHANGE_CALLBACK(
                 PVOID Parameter
);

Параметры

Parameter

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

Отсутствует

Замечания

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

Обратный вызов можно вызвать в IRQL из PASSIVE_LEVEL в DISPATCH_LEVEL, поэтому реализация должна выполняться в DISPATCH_LEVEL.

При вызове обратного вызова

Обратный вызов вызывается при:

  • ЦП добавляются или удаляются из системы (сценарии горячей установки)
  • Сопоставление процессов изменяется (для регистраций, относящихся к процессу)
  • Изменения доступности ЦП на уровне системы (для регистрации системы)
  • Ядра ЦП идут в режиме "в сети" или в автономном режиме
  • Группы обработчиков изменяются

Рекомендации по реализации

  • Обратный вызов должен завершиться быстро, так как он может вызываться в DISPATCH_LEVEL
  • Избегайте блокировки операций или длительной обработки
  • Использование параметра SequenceNumber для эффективного обнаружения и обработки изменений
  • Запрос текущей доступности ЦП с помощью PsQueryProcessAvailableCpus или PsQuerySystemAvailableCpus при необходимости

Требования

Требование Ценность
Заголовок wdm.h
IRQL PASSIVE_LEVEL to DISPATCH_LEVEL

См. также

PsRegisterProcessAvailableCpusChangeNotification

PsRegisterSystemAvailableCpusChangeNotification

PsUnregisterAvailableCpusChangeNotification

PsQueryProcessAvailableCpus

PsQuerySystemAvailableCpus