Уведомления об управлении питанием процессора (PPM)

Каждое уведомление управления питанием процессора (PPM), которое получает подпрограмма обратного вызова AcceptProcessorNotification PEP, сопровождается параметром Notification, указывающим тип уведомления, и параметром Data, указывающим на структуру данных, содержащую сведения для указанного типа уведомления.

В этом вызове параметру Notification присваивается значение PEP_NOTIFY_PPM_XXX константы, указывающее тип уведомления. Параметр Data указывает на тип структуры PEP_PPM_XXX, связанный с этим типом уведомлений.

Следующие идентификаторы уведомлений управления питанием процессора (PPM) используются подпрограммой обратного вызова AcceptProcessorNotification.

PEP_NOTIFY_PPM_QUERY_CAPABILITIES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_CAPABILITIES.

Данные

Указатель на структуру PEP_PPM_QUERY_CAPABILITIES.

Замечания

Сообщает PEP о том, что он запрашивает возможности управления питанием PEP.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при запросе PEP для его возможностей управления питанием. Это происходит во время инициализации процессора и отправляется для каждого процессора в системе.

Платформы с процессорами x86/AMD64 должны использовать интерфейсы ACPI для управления производительностью процессора.

Чтобы отправить уведомление PEP_NOTIFY_PPM_QUERY_CAPABILITIES, PoFx вызывает процедуру обратного вызова AcceptProcessorNotification PEP. В этом вызове значение параметра Notification равно PEP_NOTIFY_PPM_QUERY_CAPABILITIES, а параметр Data указывает на PEP_PPM_QUERY_CAPABILITIES структуру.

Для уведомления PEP_NOTIFY_PPM_QUERY_CAPABILITIES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_IDLE_STATES.

Данные

Указатель на структуру PEP_PPM_QUERY_IDLE_STATES.

Замечания

Информирует PEP о состояниях простоя.

Чтобы отправить уведомление PEP_NOTIFY_PPM_QUERY_IDLE_STATES, PoFx вызывает процедуру обратного вызова AcceptProcessorNotification PEP. В этом вызове значение параметра Notification равно PEP_NOTIFY_PPM_QUERY_IDLE_STATES, а параметр Data указывает на структуру PEP_PPM_QUERY_IDLE_STATES.

Для уведомления PEP_NOTIFY_PPM_QUERY_IDLE_STATES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_SELECT

Уведомление

Значение PEP_NOTIFY_PPM_IDLE_SELECT.

Данные

Указатель на структуру PEP_PPM_IDLE_SELECT.

Замечания

Сообщает PEP о бездействии выбора.

Чтобы отправить уведомление PEP_NOTIFY_PPM_IDLE_SELECT, PoFx вызывает процедуру обратного вызова AcceptProcessorNotification PEP. В этом вызове значение параметра Notification равно PEP_NOTIFY_PPM_IDLE_SELECT, а параметр Data указывает на PEP_PPM_IDLE_SELECT структуру.

Для уведомления PEP_NOTIFY_PPM_IDLE_SELECT подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_CANCEL

Уведомление

Значение PEP_NOTIFY_PPM_IDLE_CANCEL.

Данные

Указатель на структуру PEP_PPM_IDLE_CANCEL.

Замечания

Информирует PEP о действии отмены.

Чтобы отправить уведомление PEP_NOTIFY_PPM_IDLE_CANCEL, PoFx вызывает процедуру обратного вызова AcceptProcessorNotification PEP. В этом вызове значение параметра Notification равно PEP_NOTIFY_PPM_IDLE_CANCEL, а параметр Data указывает на PEP_PPM_IDLE_CANCEL структуру.

Для уведомления PEP_NOTIFY_PPM_IDLE_CANCEL подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_EXECUTE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_IDLE_EXECUTE.

Данные

Указатель на структуру PEP_PPM_IDLE_EXECUTE или PEP_PPM_IDLE_EXECUTE_V2.

Замечания

Отправляется в PEP для перевода текущего процессора в указанное состояние простоя.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP, чтобы перевести текущий процессор в указанное состояние простоя.

PEP может подготовить оборудование к переходу в выбранное ранее состояние простоя, в том числе уведомлять ОС о основных системных ресурсах, которые могут быть затронуты переходом в спящий режим. Затем он должен выполнить инструкцию остановки, чтобы перевести процессор в состояние простоя. После возвращения из состояния простоя PEP должен отменить настройку оборудования, в том числе уведомить ОС об основных системных ресурсах, которые могли активироваться при пробуждении. Если PEP не может выполнить состояние простоя процессора (и платформы), он должен вернуть состояние ошибки.

При использовании интерфейса координированного состояния простоя ОС использует структуру PEP_PPM_IDLE_EXECUTE_V2, которая включает поля CoordinatedStateCount и CoordinatedState со списком скоординированных состояний простоя, которые будут введены при переходе бездействия. В поле PlatformState будет указано самое глубокое состояние бездействия, координированное платформой, которое вводится, если оно есть.

Если интерфейс состояния координированного простоя не используется, ос использует структуру PEP_PPM_IDLE_EXECUTE.

Для уведомления PEP_NOTIFY_PPM_IDLE_EXECUTE вызывается подпрограмма AcceptProcessorNotification с отключенными прерываниями.

PEP_NOTIFY_PPM_IDLE_COMPLETE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора.

Уведомление

Значение PEP_NOTIFY_PPM_IDLE_COMPLETE.

Данные

Указатель на структуру PEP_PPM_IDLE_COMPLETE или PEP_PPM_IDLE_COMPLETE_V2.

Замечания

Сообщает PEP о том, что текущий процессор просыпается после завершения перехода в режим простоя.

Платформа управления питанием Windows (PoFx) отправляет это уведомление, когда текущий процессор просыпается после завершения перехода в режим простоя. Если платформа выполняла переход в режим простоя платформы, первый процессор для пробуждения будет указывать на состояние простоя платформы, которое завершается. В зависимости от типа синхронизации, используемой при переходе в режим простоя платформы, первый процессор, который выходит из состояния простоя платформы, может не быть процессором, который перешел в состояние простоя платформы.

Если процессор выполнял состояние глубокого простоя, PEP не должен ждать получения полного уведомления о восстановлении контекста ядра или уведомления ОС о восстановлении основных ресурсов. Ос ожидает, что эти ресурсы будут восстановлены после завершения уведомления о выполнении. Если гипервизор включен, PEP получит это уведомление только при выходе из состояния простоя платформы, а для поля ProcessorState задано значение PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

При использовании интерфейса координированного состояния простоя ОС использует структуру PEP_PPM_IDLE_COMPLETE_V2, которая включает поля CoordinatedStateCount и CoordinatedState со списком скоординированных состояний бездействия, которые будут завершены переходом бездействия. В поле PlatformState будет указано самое глубокое состояние бездействия, координированное платформой, из которой выполняется выход, если таковой есть. Обратите внимание, что набор координированных состояний простоя, выводимых этим процессором, может отличаться от набора скоординированных состояний простоя, введенных им, если используется свободная синхронизация.

Если интерфейс состояния координированного простоя не используется, операционная система использует структуру PEP_PPM_IDLE_COMPLETE.

Для уведомления PEP_NOTIFY_PPM_IDLE_COMPLETE подпрограмма AcceptProcessorNotification вызывается с отключенными прерываниями и всегда выполняется на целевом процессоре.

PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.

Данные

Указатель на структуру PEP_PPM_IS_PROCESSOR_HALTED.

Замечания

Отправляется в PEP, чтобы определить, остановлен ли указанный процессор в выбранном состоянии простоя.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP, чтобы определить, остановлен ли в данный момент указанный процессор в выбранном состоянии простоя. Ос будет использовать это уведомление для проверка, если дополнительный процессор полностью завершил переход в режим простоя при координации состояний простоя платформы. PEP должен гарантировать, что целевой процессор достиг состояния, в котором может безопасно происходить переход на простой платформы (например, путем проверки аппаратных регистров, чтобы узнать, остановлено ли ядро). Когда это уведомление указывает, что процессор находится в состоянии простоя, он не должен выходить из спящего режима, если операционная система явно не запросит его на это.

PeP может получать это уведомление в любое время между IDLE_SELECT и IDLE_COMPLETE уведомлениями. Это уведомление гарантированно будет получаться не более одного раза во время перехода бездействия.

Для уведомления PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED подпрограмма AcceptProcessorNotification вызывается в любом irQL и с отключенными прерываниями в любом IRQL и никогда не выполняется на целевом процессоре.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_INITIATE_WAKE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора.

Уведомление

Значение PEP_NOTIFY_PPM_INITIATE_WAKE.

Данные

Указатель на структуру.

Замечания

Отправляется в PEP для указанного процессора для запуска его пробуждения из состояния простоя без прерывания.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP для указанного процессора, чтобы инициировать его пробуждение из состояния простоя без прерывания. PEP должен возвращать состояние пробуждения для целевого процессора с помощью NeedInterruptForCompletion. Он возвращает значение TRUE, если процессору требуется прерывание, чтобы завершить пробуждение из состояния простоя. В этом случае PEP должен обеспечить прерывание целевого процессора при возврате из обработки этого уведомления. Если целевой процессор уже запущен и (или) в конечном итоге выйдет из состояния простоя (и находится в процессе выполнения) без прерывания, созданного программным обеспечением, параметру NeedInterruptForCompletion следует установить значение FALSE.

Примечание. PeP не будет получать это уведомление для одного и того же процессора одновременно.

Для уведомления PEP_NOTIFY_PPM_INITIATE_WAKE подпрограмма AcceptProcessorNotification вызывается в любом irQL с отключенными прерываниями и никогда не выполняется на целевом процессоре.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.

Данные

Указатель на структуру PEP_PPM_QUERY_FEEDBACK_COUNTERS.

Замечания

Сообщает PEP о том, что pep запрашивает список счетчиков обратной связи, которые она поддерживает.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора, чтобы запросить у PEP список поддерживаемых счетчиков обратной связи.

Для уведомления PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_FEEDBACK_READ

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_FEEDBACK_READ.

Данные

Указатель на структуру PEP_PPM_FEEDBACK_READ.

Замечания

Сообщает PEP о том, что запрашивается текущее значение счетчика обратной связи.

Платформа управления питанием Windows (PoFx) отправляет это уведомление, когда требуется запросить текущее значение счетчика отзывов.

Это уведомление может быть отправлено с отключенными прерываниями. Если задано affinitized поле счетчика, это уведомление выполняется на целевом процессоре. В противном случае это уведомление может быть выполнено от любого процессора.

Для уведомления PEP_NOTIFY_PPM_FEEDBACK_READ можно вызвать подпрограмму AcceptProcessorNotification по адресу IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.

Данные

Указатель на структуру PEP_PPM_QUERY_PERF_CAPABILITIES.

Замечания

Сообщает PEP о том, что он запрашивается для диапазонов производительности, поддерживаемых платформой.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора для запроса диапазонов производительности, поддерживаемых платформой. Поля DomainId и DomainMembers структуры PEP_PPM_QUERY_PERF_CAPABILITIES используются для передачи доменов состояния производительности на платформу. Каждый процессор является членом ровно одного домена состояния производительности. Операционная система гарантирует, что все процессоры в области производительности изменяют производительность вместе.

Для уведомления PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_CONSTRAINTS

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора.

Уведомление

Значение PEP_NOTIFY_PPM_PERF_CONSTRAINTS.

Данные

Указатель на структуру PEP_PPM_PERF_CONSTRAINTS.

Замечания

Сообщает PEP о том, что он запрашивается для текущих операционных ограничений процессора.

Платформа управления питанием Windows (PoFx) отправляет это уведомление, когда требуется проверить текущие ограничения работы процессора. PEP инициирует запрос операционной системы на повторную оценку ограничений производительности процессора, выполняя элемент управления питанием с кодом элемента управления GUID_PPM_PERF_CONSTRAINT_CHANGE. Значения InBuffer и OutBuffer должны иметь значение NULL.

PeP должен дождаться получения уведомления о PEP_DPM_DEVICE_STARTED для процессора, прежде чем он выдает транзакцию управления питанием для процессора.

Для уведомления PEP_NOTIFY_PPM_PERF_CONSTRAINTS подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_SET

Это уведомление уведомляет PEP о том, что текущая операционная производительность процессора должна быть изменена.

Ниже описаны параметры AcceptProcessorNotification.

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_PERF_SET.

Данные

Указатель на структуру PEP_PPM_PERF_SET .

Замечания

Платформа управления питанием Windows (PoFx) отправляет это уведомление, когда хочет изменить текущую производительность процессора. Это уведомление может быть отправлено при выполнении на любом процессоре.

Для уведомления PEP_NOTIFY_PPM_PERF_SET подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PARK_SELECTION

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_PARK_SELECTION.

Данные

Указатель на структуру PEP_PPM_PARK_SELECTION.

Замечания

Сообщает PEP, что ос хотела бы выбрать предпочтительный набор ядер процессора для парковки.

Платформа управления питанием Windows (PoFx) отправляет это уведомление, чтобы указать PEP выбрать предпочтительный набор ядер для парковки.

PEP_NOTIFY_PPM_PARK_SELECTION перегружен для выполнения двух функций:

Пусть PEP выбирает, какие процессоры (из набора всех процессоров в системе) следует припарковать, а какие — разблокировать. Пусть PEP выбирает, какие процессоры (из набора всех процессоров, которые не были припаркованы) должны получать прерывания, а какие — не должны получать прерывания. Windows не предоставляет pep средств для определения того, какие из двух операционных систем выполняются. В результате, когда PEP получает это уведомление с заданным набором входных данных (AdditionalUnparkedProcessors count и PoPreference), он должен предоставлять согласованные выходные данные (PepPreference), если какое-то внешнее событие не вызывает изменения предпочтения PEP.

Для уведомления PEP_NOTIFY_PPM_PARK_SELECTION подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_CST_STATES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_CST_STATES.

Данные

Указатель на структуру PEP_PPM_CST_STATES.

Замечания

Отправляется в PEP для указания набора C-состояний, определенных ACPI, поддерживаемых процессором.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP, чтобы указать набор C-состояний, определенных ACPI, поддерживаемых процессором. Это уведомление будет отправлено один раз до того, как PEP впервые получит уведомление PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 для процессора, и снова каждый раз, когда обработчик получает уведомление (0x81), указывающее на изменение объекта _CST.

Для уведомления PEP_NOTIFY_PPM_CST_STATES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Данные

Указатель на структуру PEP_PPM_QUERY_PLATFORM_STATES.

Замечания

Отправляется при инициализации процессора для запроса количества состояний простоя платформы, поддерживаемых PEP.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP при инициализации процессора, чтобы запросить количество состояний простоя платформы, которые она поддерживает. Это уведомление отправляется один раз при загрузке. После возврата ненулевого количества состояний платформы PEP может приступить к выбору состояний простоя платформы во время переходов бездействия процессора.

Для уведомления PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_LP_SETTINGS

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.

Данные

Указатель на структуру PEP_PPM_QUERY_LP_SETTINGS.

Замечания

Чтобы отправить уведомление PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, PoFx вызывает процедуру обратного вызова AcceptProcessorNotification PEP. В этом вызове значение параметра Notification равно PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, а параметр Data указывает на PEP_PPM_QUERY_LP_SETTINGS структуру.

Для уведомления PEP_NOTIFY_PPM_QUERY_LP_SETTINGS подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.

Данные

Указатель на структуру PEP_PPM_QUERY_IDLE_STATES_V2.

Замечания

Используется при инициализации процессора для запроса списка состояний простоя, поддерживаемых PEP.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP при инициализации процессора для запроса списка состояний простоя, которые она поддерживает.

Член Count указывает размер массива состояния бездействия. Драйвер процессора запрашивает количество состояний простоя с PEP_NOTIFY_PPM_QUERY_CAPABILITIES перед отправкой этого уведомления.

PEP заполняет массив IdleStates сведениями о каждом состоянии простоя, которое он поддерживает. Состояния простоя должны быть перечислены в порядке снижения энергопотребления или увеличения затрат на переход. PeP не требуется сообщать один и тот же список состояний простоя для каждого процессора.

Для уведомления PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Данные

Указатель на структуру PEP_PPM_QUERY_PLATFORM_STATE.

Замечания

Отправляется в PEP для запроса свойств одного состояния простоя платформы.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора для запроса свойств одного состояния простоя платформы.

Параметр StateIndex структуры PEP_PPM_QUERY_PLATFORM_STATE указывает индекс запрашиваемого состояния простоя платформы. Драйвер процессора запрашивает количество поддерживаемых состояний простоя платформы с PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES перед отправкой этого уведомления. Затем драйвер процессора отправляет одно уведомление PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE для каждого состояния простоя платформы. Драйвер процессора будет ожидать отправки этого уведомления до тех пор, пока все процессоры не будут зарегистрированы в PEP.

PEP заполняет структуру Состояния сведениями о состоянии простоя платформы. Состояния простоя платформы должны быть перечислены в порядке снижения энергопотребления или увеличения затрат на переход.

Для уведомления PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_TEST_IDLE_STATE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_TEST_IDLE_STATE.

Данные

Указатель на структуру PEP_PPM_TEST_IDLE_STATE.

Замечания

Используется для проверки возможности ввода указанного состояния простоя процессора и платформы на указанном процессоре.

Платформа управления питанием Windows (PoFx) отправляет это уведомление, чтобы проверить, можно ли ввести указанный процессор и состояние простоя платформы на указанном процессоре. Если можно ввести состояние простоя, PEP заполняет код вето PEP_IDLE_VETO_NONE и завершает переход бездействия. Если по какой-либо причине не удается завершить переход бездействия, PEP заполняет ненулевой код вето.

Важные коды вето в диапазоне 0x80000000 0xffffffff зарезервированы для использования ОС и могут не использоваться.

При отправке этого уведомления ОПЕРАЦИОННая система уже проверила, что выполнены все ограничения, связанные с выбранным процессором или состоянием простоя платформы, включая ограничения устройства и процессора для перехода в режим простоя платформы.

Это уведомление будет отправлено до того, как ОС попытается войти в любое состояние простоя процессора или платформы, за исключением состояния простоя процессора с индексом 0, который всегда должен быть входным. Заполнение этого уведомления с помощью PEP_IDLE_VETO_NONE не гарантирует, что ОС перейдет в указанное состояние простоя. Это уведомление отправляется с отключенными прерываниями. Это уведомление всегда выполняется на целевом процессоре.

Для уведомления PEP_NOTIFY_PPM_TEST_IDLE_STATE вызывается подпрограмма AcceptProcessorNotification с отключенными прерываниями.

PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.

Данные

Указатель на структуру PEP_PPM_IDLE_EXECUTE или PEP_PPM_IDLE_EXECUTE_V2.

Замечания

Отправляется в PEP для подготовки системы к переходу в указанное состояние простоя.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP, чтобы подготовить систему к переходу в указанное состояние простоя. После успешного завершения этого уведомления ОПЕРАЦИОННая система переведет процессор в режим простоя, введя связанное состояние C. Если PEP не может подготовить систему к переходу в состояние простоя процессора (и платформы), он должен вернуть состояние ошибки.

Если гипервизор включен, PEP получит это уведомление только при входе в состояние простоя платформы, а для поля ProcessorState задано значение PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

При использовании интерфейса координированного состояния простоя ОС использует структуру PEP_PPM_IDLE_EXECUTE_V2, которая включает поля CoordinatedStateCount и CoordinatedState со списком скоординированных состояний простоя, которые будут введены при переходе бездействия. В поле PlatformState будет указано самое глубокое состояние бездействия, координированное платформой, которое вводится, если оно есть.

Если интерфейс состояния координированного простоя не используется, ос использует структуру PEP_PPM_IDLE_EXECUTE.

Для уведомления PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE подпрограмма AcceptProcessorNotification вызывается с отключенными прерываниями и всегда выполняется на целевом процессоре.

PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Данные

Указатель на структуру PEP_PPM_QUERY_PLATFORM_STATE.

Замечания

Сообщает PEP о том, что процессор получил уведомление (0x81) для обновления характеристик состояния простоя платформы.

Платформа управления питанием Windows (PoFx) отправляет это уведомление, когда процессор получил уведомление (0x81) для обновления характеристик состояния простоя платформы. Это уведомление отправляется один раз для каждого состояния простоя платформы. Если PEP не принимает уведомление (т. е. возвращает FALSE из обратного вызова AcceptProcessorNotification), то предыдущее определение состояния простоя платформы из последнего принятого PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE или уведомления PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE сохраняется.

В этом уведомлении используется тот же буфер данных, что и в уведомлении PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Для уведомления PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.

Данные

Указатель на структуру PEP_PPM_PLATFORM_STATE_RESIDENCIES.

Замечания

Сообщает PEP о том, что она должна записывать фактическое время, затраченное на каждое состояние простоя платформы с момента загрузки.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP, чтобы записать фактическое время, затраченное в каждом состоянии простоя платформы с момента загрузки. Таким образом, этот запрос применим только к тем платформам, где базовое оборудование может самостоятельно принять решение о переходе в состояние простоя платформы, отличное от запрошенного ОС. Возвращаемые значения используются в целях диагностики и определяют, когда представление ОС о местонахождении состояния простоя платформы значительно отличается от фактического достижения платформы.

Count указывает количество элементов в массиве States, где индекс элемента соответствует индексу состояния бездействия платформы. PEP заполняет каждый элемент фактическим расположением соответствующего состояния и числом переходов.

Примечание. Накопленные значения, собранные этим запросом, должны соответствовать только тем периодам, когда PEP (или драйвер процессора) фактически выполнял переход в состояние простоя платформы. Это гарантирует, что сравнение между вычисляемым местом расположения ОС и фактическим местом проживания будет значимым.

Для уведомления PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES подпрограмму AcceptProcessorNotification можно вызвать в любом irQL.

PEP_NOTIFY_PPM_QUERY_VETO_REASONS

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_VETO_REASONS.

Данные

Указатель на структуру PEP_PPM_QUERY_VETO_REASONS.

Замечания

Используется для запроса количества уникальных причин вето, используемых PEP в обратных вызовах ProcessorIdleVeto и PlatformIdleVeto.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора, чтобы запросить количество уникальных причин вето, которые PEP использует в обратных вызовах ProcessorIdleVeto и PlatformIdleVeto. Это уведомление является необязательным и может игнорироваться PEP.

Если это принято, PEP может использовать причины вето в диапазоне от 1 до VetoReasonCount включительно, чтобы наложить вето на любой процессор, платформу или скоординированное состояние простоя. PEP не может использовать причины вето, превышающие VetoReasonCount. ОС предварительно выделяет структуры отслеживания вето и при использовании с PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES гарантирует, что все обратные вызовы процессора, платформы и скоординированного состояния вето будут успешно выполнены.

Если pep не принимает это уведомление, PEP может использовать обратные вызовы ProcessorIdleVeto и PlatformIdleVeto с любой законной причиной вето. Операционная система не гарантирует, что обратные вызовы не завершатся сбоем из-за сбоев выделения или других проблем.

Для уведомления PEP_NOTIFY_PPM_QUERY_VETO_REASONS подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_VETO_REASON

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_VETO_REASON.

Данные

Указатель на структуру PEP_PPM_QUERY_VETO_REASON.

Замечания

Отправляется в PEP для запроса сведений о конкретной причине вето.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора для запроса сведений о конкретной причине вето. Это уведомление отправляется дважды для каждой причины вето: один раз с буфером NULLName для получения размера выделения, необходимого для name, и один раз с буфером, не имеющим nullName, для заполнения содержимого Name. Имя должно быть понятной строкой, указывающей, какое условие представляет эта причина вето. Средства отладки, такие как WPA и отладчик ядра, будут отображать имя при диагностике причины, по которой не было введено состояние простоя.

Для уведомления PEP_NOTIFY_PPM_QUERY_VETO_REASON подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.

Данные

Значение указателя NULL.

Замечания

Сообщает PEP о том, что ОС готова принимать вызовы ProcessorIdleVeto или PlatformIdleVeto.

Платформа управления питанием Windows (PoFx) отправляет это уведомление после инициализации процессора, но перед первой записью простоя, чтобы указать, что ОС готова принимать вызовы ProcessorIdleVeto или PlatformIdleVeto. PEP может перечислить любые права вето во время загрузки в контексте этого уведомления, и ОС гарантирует, что они вступают в силу до первой попытки выбрать процессор, платформу или скоординированное состояние простоя. Это уведомление не имеет связанного параметра Data.

Для уведомления PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PARK_MASK

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_PARK_MASK.

Данные

Указатель на структуру PEP_PPM_PARK_MASK.

Замечания

Сообщает PEP о текущей маске парковки ядра.

Платформа управления питанием Windows (PoFx) отправляет это уведомление во время выполнения, чтобы сообщить PEP о текущей маске парковки ядра.

Для уведомления PEP_NOTIFY_PPM_PARK_MASK подпрограмма AcceptProcessorNotification вызывается по адресу IRQL = DISPATCH_LEVEL и может отправляться при выполнении на любом процессоре.

PEP_NOTIFY_PPM_PARK_SELECTION_V2

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_PARK_SELECTION_V2.

Данные

Указатель на структуру PEP_PPM_PARK_SELECTION_V2.

Замечания

Сообщает PEP, что ОС хотела бы выбрать предпочтительный набор ядер для парковки или отогнать прерывания. Если это уведомление не будет принято, ОС откажется от отправки уведомления PEP_NOTIFY_PPM_PARK_SELECTION.

При выполнении алгоритма производительности проверка ОС может отправлять уведомления о PEP_NOTIFY_PPM_PARK_SELECTION_V2 несколько раз: ноль или более раз для каждого класса эффективности ядра в каждом домене парка и ноль или более раз для прерывания управления. Чтобы помочь PEP в предоставлении согласованного ответа на операционную систему для проверка производительности, ОС предоставит метку времени прерывания проверка оценки производительности, которая вызвала уведомление. Все уведомления о выборе парка, полученные в результате одной оценки производительности проверка, будут иметь одинаковую метку времени. Обратите внимание, что остальные поля (Count, AdditionalUnparkedProcessors, EvaluationType и Processors) могут отличаться для уведомлений, отправляемых во время одной и той же производительности проверка оценки. PEP не может предполагать, что они останутся прежними.

Для уведомления PEP_NOTIFY_PPM_PARK_SELECTION подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.

Данные

Указатель на структуру PEP_PPM_PERF_CHECK_COMPLETE.

Замечания

Сообщает PEP о завершении периодической оценки производительности проверка.

Платформа управления питанием Windows (PoFx) отправляет это уведомление во время выполнения, чтобы уведомить PEP о завершении периодической оценки проверка.

Для уведомления PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE подпрограмма AcceptProcessorNotification вызывается по адресу IRQL = DISPATCH_LEVEL и может отправляться при выполнении на любом процессоре.

PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.

Данные

Указатель на структуру PEP_PPM_QUERY_COORDINATED_DEPENDENCY.

Замечания

Отправляется в PEP для запроса зависимостей каждого скоординированного состояния простоя.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора, чтобы запросить у PEP зависимости каждого скоординированного состояния простоя. ОС выделит элементы MaximumDependencySize для массива Dependencies. PEP должен заполнить количество элементов массива, которые использовались в DependencySizeUsed.

Если зависимость, выраженная на процессоре, PEP заполняет поле TargetProcessor значением POHANDLE целевого процессора. Затем поле ExpectedState ссылается на индекс состояния простоя процессора на целевом процессоре.

Если зависимость выражается от других скоординированных состояний простоя, функция PEP заполняет значение NULL для TargetProcessor. Затем поле ExpectedState ссылается на индекс скоординированного состояния простоя.

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

Для уведомления PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.

Данные

Указатель на структуру PEP_PPM_QUERY_STATE_NAME.

Замечания

Отправляется в PEP для запроса сведений о определенном скоординированном состоянии или состоянии простоя платформы.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора, чтобы запросить у PEP сведения о конкретном скоординированном состоянии или состоянии простоя платформы. Это уведомление отправляется дважды для каждого состояния: один раз с буфером NULL-имени для получения размера выделения, необходимого для Name, и один раз с буфером имен, не имеющим значения NULL, для заполнения содержимого name. Имя должно быть доступной для чтения строкой, указывающей имя скоординированного состояния простоя. Координированные состояния простоя должны иметь уникальные имена, за исключением систем с несколькими кластерами, где имена эквивалентных состояний в разных кластерах могут быть одинаковыми. Средства отладки, такие как WPA и отладчик ядра, будут отображать имя в диагностика, которые ссылаются на это состояние координированного или платформенного простоя.

Для уведомления PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, это значение будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Данные

Указатель на структуру PEP_PPM_QUERY_COORDINATED_STATES.

Замечания

Используется при инициализации процессора для запроса свойств всех координированных состояний простоя.

Платформа управления питанием Windows (PoFx) отправляет это уведомление в PEP при инициализации процессора для запроса свойств всех скоординированных состояний простоя. Это уведомление отправляется непосредственно перед отправкой pep уведомления PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Если он принят, PEP использует интерфейс состояния координированного простоя и не будет получать уведомления о PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Если этот параметр не принят, PEP использует интерфейс состояния простоя платформы, а ОПЕРАЦИОННая система вернется к использованию уведомления PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE для запроса скоординированных состояний простоя.

Ос будет ожидать отправки этого уведомления, пока все процессоры не будут зарегистрированы в PEP.

PEP заполняет структуру State сведениями о скоординированных состояниях простоя.

Порядок скоординированных состояний простоя должен соответствовать следующим правилам:

Два скоординированных состояния, представляющих разные состояния питания для одной функциональной единицы, должны быть перечислены в порядке от самого легкого (наибольшее энергопотребление/наименьшая стоимость перехода) до самого глубокого (наименьшее энергопотребление/наибольшие затраты на переход). Скоординированные состояния простоя могут зависеть только от других скоординированных состояний простоя с более низким индексом. Не требуется порядок между двумя несвязанными координированными состояниями простоя (т. е. двумя скоординированными состояниями простоя, которые зависят от несвязанных наборов процессоров).

Для уведомления PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES подпрограмма AcceptProcessorNotification всегда вызывается по адресу IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, оно будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.

Данные

Указатель на структуру PEP_PPM_QUERY_STATE_NAME.

Замечания

Отправляется в PEP для запроса сведений о конкретном состоянии простоя процессора.

Платформа управления питанием Windows (PoFx) отправляет это уведомление при инициализации процессора, чтобы запросить у PEP сведения о конкретном состоянии простоя процессора. Это уведомление отправляется дважды для каждого состояния: один раз с буфером NULL-имени для получения размера выделения, необходимого для name, и один раз с буфером имен, отличных от NULL, для заполнения содержимого name. Имя должно быть удобочитаемой строкой, указывающей имя скоординированного состояния простоя. Координированные состояния простоя должны иметь уникальные имена, за исключением систем с несколькими кластерами, где имена эквивалентных состояний в разных кластерах могут быть одинаковыми. Средства отладки, такие как WPA и отладчик ядра, будут отображать имя в диагностика, которые ссылаются на это состояние скоординированного или платформенного простоя.

Для уведомления PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME подпрограмма AcceptProcessorNotification всегда вызывается в irQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, оно будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.

Данные

Указатель на структуру PEP_PPM_ENTER_SYSTEM_STATE.

Замечания

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE является необязательным уведомлением, которое уведомляет PEP о том, что система вот-вот перейдет в состояние питания системы. Это уведомление отправляется всем процессорам одновременно после того, как система завершит всю работу на пассивном уровне, переключив процессор в состояние питания системы.

Это уведомление отправляется в DISPATCH_LEVEL, при этом все процессоры отправляются в момент отправки. Это уведомление всегда выполняется на целевом процессоре.

Примечание. PeP не должен ставить в очередь какие-либо работы из этого уведомления. Обработчики не будут обрабатывать рабочие элементы, DPC и т. д. после отправки этого уведомления.

DISPATCH_LEVEL

PEP_NOTIFY_PPM_PERF_SET_STATE

Ниже описаны параметры AcceptProcessorNotification.

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, оно будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_PERF_SET_STATE.

Данные

Указатель на структуру PEP_PPM_PERF_SET_STATE .

Замечания

Используется во время выполнения для задания текущего состояния производительности процессора. Если pep имеет автономное оборудование, способное повысить или снизить производительность без запроса набора производительности, оно должно ограничить запросы от автономного оборудования на основе минимального состояния производительности и (или) максимального состояния производительности и нацелить на требуемое состояние производительности. В противном случае он должен выполняться в нужном состоянии производительности.

Это уведомление отправляется в DISPATCH_LEVEL. Если используются состояния производительности, направленные планировщиком, при обработке этого уведомления pep должна соблюдать ограничения, указанные в разделе 3.3.6. Он может отправляться во время выполнения на любом процессоре.

PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, оно будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.

Данные

Указатель на структуру PEP_PPM_QUERY_DISCRETE_PERF_STATES. Используется при инициализации процессора для запроса списка дискретных состояний производительности, поддерживаемых PEP, если уведомление PEP_NOTIFY_PPM_QUERY_CAPABILITIES указывает на поддержку дискретных состояний производительности.

Список состояний производительности должен быть упорядочен от самого быстрого к самому медленному, при этом каждое состояние производительности сопоставляется с отдельным значением производительности. Список состояния производительности также должен содержать запись, соответствующую каждому значению производительности, указанному в уведомлении PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Это уведомление отправляется в PASSIVE_LEVEL. Он может отправляться во время выполнения на любом процессоре.

PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, оно будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.

Данные

Указатель на структуру PEP_PPM_QUERY_DOMAIN_INFO.

Замечания

Необязательное уведомление, запрашивающее сведения о домене производительности. Это уведомление отправляется в PASSIVE_LEVEL. Он может отправляться во время выполнения на любом процессоре.

PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE

Дескриптор

Структура PEPHANDLE, содержащая дескриптор устройства PEP для целевого процессора. Если уведомление не предназначено для конкретного процессора, оно будет иметь значение NULL.

Уведомление

Значение PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.

Данные

Указатель на структуру PEP_PPM_RESUME_FROM_SYSTEM_STATE.

Замечания

Необязательное уведомление, уведомляющее PEP о том, что система только что возобновила работу с состоянием питания системы. Это уведомление отправляется всем процессорам одновременно непосредственно перед выпуском процессоров для возобновления работы на пассивном уровне. Это уведомление отправляется в DISPATCH_LEVEL, при этом все процессоры отправляются в момент отправки. Это уведомление всегда выполняется на целевом процессоре.