Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Программа PoSetPowerState уведомляет систему об изменении состояния питания устройства для устройства.
Синтаксис
POWER_STATE PoSetPowerState(
[in] PDEVICE_OBJECT DeviceObject,
[in] POWER_STATE_TYPE Type,
[in] POWER_STATE State
);
Параметры
[in] DeviceObject
Указатель на целевой DEVICE_OBJECT.
[in] Type
Указывает значение POWER_STATE_TYPE. Драйверы должны указывать DevicePowerState.
[in] State
Указывает состояние питания, которое необходимо задать. Драйверы должны указать значение DEVICE_POWER_STATE.
Возвращаемое значение
PoSetPowerState возвращает предыдущее состояние питания.
Замечания
PoSetPowerState уведомляет диспетчер питания нового состояния питания для устройства. Каждый драйвер в стеке устройств (фильтры, функции и драйверы шины) должен вызывать PoSetPowerState, чтобы сообщить диспетчеру питания об изменении состояния питания соответствующего объекта устройства. Например:
Драйвер вызывает эту подпрограмму после получения запроса набора питания устройства и перед вызовом PoStartNextPowerIrp. При обработке запроса IRP_MN_START_DEVICE PnP драйвер должен вызвать PoSetPowerState, чтобы уведомить диспетчер питания о том, что устройство находится в состоянии D0.
Если устройство отключено, драйвер должен вызвать PoSetPowerState перед выходом из состояния D0. Кроме того, драйвер должен иметь возможность обрабатывать клиентские запросы до возврата PoSetPowerState.
Если устройство работает, драйвер должен вызвать PoSetPowerState после успешного включения устройства в состояние D0.
Дополнительные сведения о настройке питания устройства вверх и вниз см. в разделе Обработка IRP_MN_SET_POWER дляустройств Power States.
Вызывающие PoSetPowerState должны выполняться в IRQL <= APC_LEVEL за исключением того, когда задано состояние D0. При задании состояния D0 вызывающие элементы могут выполняться в IRQL <= DISPATCH_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | См. раздел "Примечания". |