Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Коды управления питанием, описанные в этом разделе, используются плагинами расширения платформы (PEPs). Запрос управления питанием аналогичен запросу на управление ввода-вывода (IOCTL). В отличие от IOCTL, запрос на управление питанием отправляется непосредственно в диспетчер управления питанием Windows (PoFx) и не наблюдается другими драйверами устройств в стеке устройств.
Ниже приведены коды управления питанием PPM:
| Код | Синтаксис | Описание |
|---|---|---|
| PEP_PPM_POWER_CONTROL_QUERY_PARKING_PAGE | {38BD8901-AB20-4908-ABAA-AC34674BDFF3} DEFINE_GUID(PEP_PPM_POWER_CONTROL_QUERY_PARKING_PAGE; 0x38bd8901, 0xab20, 0x4908, 0xab, 0xaa, 0xac, 0x34 0x67, 0x4b, 0xdf, 0xf3); |
Код используется PEP, чтобы запросить платформу управления питанием Windows (PoFx) для получения сведений о странице парковки, назначенной процессору. Чтобы определить страницу остановки для процессора, подключаемый модуль расширения платформы (PEP) для данного процессора отправляет в PoFx запрос управления питанием с идентификатором PEP_PPM_POWER_CONTROL_QUERY_PARKING_PAGE. Чтобы инициировать этот запрос управления питанием, PEP сначала вызывает подпрограмму RequestWorker, чтобы уведомить PoFx, что у PEP есть рабочий элемент для обработки. PoFx отвечает на этот вызов, отправив уведомление PEP_DPM_WORK для PEP. PEP отвечает на это, отправляя запрос управления мощностью для информации о странице парковки. Этот запрос включает в себя структуру, выделенную PEP PEP_WORK_INFORMATION, в которой для элемента WorkType задано значение PepWorkRequestPowerControl, а элемент PowerControl указывает на структуру, выделенную PEP PEP_WORK_POWER_CONTROL. Элемент PowerControlCode структуры PEP_WORK_POWER_CONTROL имеет значение PEP_PPM_POWER_CONTROL_QUERY_PARKING_PAGE. Элемент InBuffer этой структуры должен иметь значение NULL, а элемент OutBuffer должен указывать на структуру, выделенную PEP PEP_PPM_CONTEXT_QUERY_PARKING_PAGE. В ответ на этот запрос управления питанием PoFx записывает виртуальные и физические адреса страницы парковки в структуру PEP_PPM_CONTEXT_QUERY_PARKING_PAGE. Запрос управления энергопотреблением PEP_PPM_POWER_CONTROL_QUERY_PARKING_PAGE является специфичным для Arm и не поддерживается процессорами x86 и x64. В многопроцессорной системе Arm страница парковки — это блок памяти с 4 килобайтами, который операционная система использует в качестве почтового ящика для управления процессором, начинающимся с состояния простоя. PEP может использовать некоторую часть почтового ящика для хранения данных контекста, относящихся к процессору. Дополнительные сведения см. в документе с названием "Многопроцессорный запуск для платформ Arm".https://www.acpica.org/related-documents |
| GUID_PPM_PERF_CONSTRAINT_CHANGE | {29181FA1-4BF3-4c2e-B314-A6D226322B00} DEFINE_GUID(GUID_PPM_PERF_CONSTRAINT_CHANGE; 0x29181fa1, 0x4bf3, 0x4c2e, 0xb3, 0x14, 0xa6, 0xd2, 0x26, 0x32, 0x2b, 0x0); |
Код используется PEP для уведомления платформы управления питанием Windows (PoFx), что ограничения производительности процессора должны изменяться для удовлетворения внешних ограничений (бюджет питания, тепловых ограничений, источников питания и т. д.). Входной или выходной буфер не используется с этим кодом элемента управления. Чтобы инициировать запрос на управление питанием, PEP сначала вызывает подпрограмму RequestWorker, чтобы уведомить PoFx о наличии у PEP элемента работы для отправки. PoFx отвечает на этот вызов, отправляя уведомление PEP_DPM_WORK в PEP. PEP отвечает путем отправки запроса на работу управления питанием для изменения ограничения производительности. Этот запрос включает в себя структуру, выделенную peP PEP_WORK_INFORMATION, в которой для элемента WorkType задано значение PepWorkRequestPowerControl, а элемент PowerControl указывает на структуру, выделенную peP PEP_WORK_POWER_CONTROL. Элемент структуры PEP_WORK_POWER_CONTROL под названием PowerControlCode установлен в значение GUID_PPM_PERF_CONSTRAINT_CHANGE. Элементы InBuffer и OutBuffer этой структуры должны иметь значение NULL. В ответ на этот запрос управления питанием PoFx отправит уведомление PEP_NOTIFY_PPM_PERF_CONSTRAINTS в PEP, чтобы получить новые пределы производительности процессора. |