Метод IPowerNotify::P owerChangeNotify (portcls.h)
Метод PowerChangeNotify
уведомляет минипорт-драйвер изменений в состоянии питания.
Синтаксис
void PowerChangeNotify(
[in] POWER_STATE PowerState
);
Параметры
[in] PowerState
Указывает текущее состояние питания. Этот параметр представляет собой объединение типов POWER_STATE. Новое состояние питания (PowerState.DeviceState) может быть одним из значений перечисления DEVICE_POWER_STATE, перечисленных в IAdapterPowerManagement::P owerChangeStateState.
Возвращаемое значение
Никакой
Замечания
Системный драйвер PortCls вызывает метод PowerChangeNotify
драйвера минипорта, чтобы уведомить его об изменениях в состоянии питания. Цель этого вызова заключается в том, чтобы предоставить мини-драйверу возможность сохранить любой аппаратный контекст непосредственно перед выключением или восстановить ранее сохраненный контекст сразу после включения питания.
Минипорт-драйвер может записывать данные в регистры оборудования или память на борту во время вызова PowerChangeNotify
. Если система отключена (при переходе состояния от PowerDeviceD0), системный драйвер PortCls вызывает PowerChangeNotify
перед вызовом IAdapterPowerManagement::P owerChangeState и после приостановки всех активных потоков аудиоданных. Это дает мини-драйверу возможность сохранить любой контекст устройства для конкретного оборудования до выключения устройства. Например, минипорт-драйвер WavePci может потребоваться сохранить регистры DMA, если питание происходит во время последовательности передачи данных или сбора данных. Если система работает с питанием (в результате перехода состояния на PowerDeviceD0), ПортКлс вызывает PowerChangeNotify
после вызова PowerChangeState и перед перезапуском всех приостановленных потоков звуковых данных. Это дает минипорт-драйверу возможность восстановить ранее сохраненный контекст после включения устройства.
Код этого метода должен находиться в памяти страниц.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | portcls.h (include Portcls.h) |