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