Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция 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