Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Второстепенный код IRP питания IRP_MN_WAIT_WAKE обеспечивает пробуждение устройства или пробуждение системы. Драйверы устройств, которые могут «будить» сами себя или систему, отправляют запросы IRP_MN_WAIT_WAKE. Система отправляет IRP_MN_WAIT_WAKE запросы только на устройства, которые всегда просят систему, например переключатель питания.
Драйвер отправляет запрос IRP_MN_WAIT_WAKE по одной из двух причин:
Его устройство должно иметь возможность вернуться к рабочему состоянию из состояния спящего режима в ответ на внешний сигнал пробуждения.
Например, драйвер модема может отправить ему IRP ожидания или пробуждения, прежде чем задать его в состоянии питания D1 для экономии энергии. IRP ожидания и пробуждения позволяет модему реагировать на входящий вызов.
Его устройство должно иметь возможность пробуждения системы в ответ на сигнал пробуждения.
Когда система переходит в спящий режим, модем может оставаться в состоянии D1 с IRP_MN_WAIT_WAKE ожидающих. В этом случае входящий звонок разбудит систему и модем.
Независимо от того, подготовлено ли устройство к пробуждению или системе, необходимы те же действия, которые должны выполняться его драйверами. Основное различие заключается в том, как устройство и системное оборудование реагируют на начальный сигнал пробуждения. Поведение драйвера одинаково в любом случае.