Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с Windows 8, Windows поддерживает управление температурой на уровне устройства для драйверов устройств в режиме ядра. Управление температурой Windows имеет следующие цели:
Предотвращение перегрева устройств на аппаратной платформе, что может привести к неправильной или ненадежной работе.
Не делайте доступные пользователю поверхности на компьютере слишком горячими для удобного касания или удержания.
Как и управление питанием, управление температурой должно осуществляться на всей платформе путем координации локальных тепловых ограничений устройства в контексте глобальных тепловых условий. Обеспечивая глобальную координацию, операционная система может распределять требования к охлаждению между несколькими устройствами таким образом, чтобы свести к минимуму вмешательство в задачи, выполняемые пользователем. Требования к температуре можно интеллектуально сбалансировать с другими системными требованиями, такими как управление питанием и реагирование на действия пользователя.
В отличие от этого, драйвер устройства, который пытается управлять уровнями температуры для своего устройства локально, в изоляции от других устройств на платформе, с большей вероятностью принимает плохие решения, которые приводят к неэффективному энергопотреблению и не отвечает пользовательский интерфейс.
Для участия в глобальном управлении температурой драйвер устройства реализует интерфейс драйвера GUID_THERMAL_COOLING_INTERFACE . Во время запуска системы предоставляемый системой драйвер, Acpi.sys, запрашивает драйверы устройств в системе, чтобы определить, какие из них поддерживают этот интерфейс. Драйвер может получить запрос IRP_MN_QUERY_INTERFACE для этого интерфейса в любое время после вызова процедуры AddDevice для устройства драйвера. В ответ на этот запрос драйвер для устройства с возможностями управления температурой может предоставить указатель на структуру THERMAL_COOLING_INTERFACE . Эта структура содержит указатели на набор процедур обратного вызова, реализованных драйвером. Для управления уровнями температуры на устройстве операционная система вызывает эти подпрограммы напрямую.
Двумя основными подпрограммами в этом интерфейсе являются ActiveCooling и PassiveCooling. Подпрограмма ActiveCooling драйвера активирует или отключает активное охлаждение в устройстве. Например, эта подпрограмма может включать и выключать вентилятор. Подпрограмма Пассивного охлаждения драйвера определяет степень регулирования производительности устройства для поддержания приемлемого теплового уровня. Например, эта подпрограмма может быть вызвана для запуска устройства с половинной скоростью, чтобы предотвратить его перегрев.
По умолчанию перед первым вызовом процедуры ActiveCooling активное охлаждение отключается (например, вентилятор отключен). Перед первым вызовом подпрограммы PassiveCooling драйвер настраивает устройство для работы с полной производительностью без ограничений на охлаждение.
Драйвер может реализовать одну или обе из этих подпрограмм в зависимости от возможностей оборудования устройства. Дополнительные сведения см. в разделе Пассивный и активный режимы охлаждения.