Возможности управления питанием устройств отчетов

Во время перечисления драйверы сообщают сведения, относящиеся к устройству, в ответ на запрос PnP IRP_MN_QUERY_CAPABILITIES . Наряду с другими подобными сведениями водители сообщают о возможностях управления питанием устройства в DEVICE_CAPABILITIES структуре. Как правило, водитель автобуса заполняет эту структуру.

Драйверы более высокого уровня должны задать подпрограмму IoCompletion для IRP возможностей запросов, чтобы они могли создать локальную копию структуры и убедиться, что она содержит соответствующие значения. Как правило, драйверы более высокого уровня не должны изменять эти значения. Однако если изменение необходимо, драйвер может дополнительно ограничить возможности устройства, но не может добавить к ним. Другими словами, драйвер может сделать правила более строгими, но не может ослабить их.

После завершения IRP и выполнения всех процедур завершения драйверов структура кэшируется, и драйвер не может изменить свое содержимое.

К управлению питанием относятся следующие элементы структуры DEVICE_CAPABILITIES :

DeviceD1 и DeviceD2

WakeFromD0, WakeFromD1, WakeFromD2 и WakeFromD3

DeviceState

SystemWake

DeviceWake

D1Latency, D2Latency и D3Latency