Поделиться через


Функция обратного вызова PFNKSDEVICEQUERYPOWER (ks.h)

AVStream вызывает подпрограмму AVStrMiniDeviceQueryPower мини-driver при получении запроса IRP_MN_QUERY_POWER .

Синтаксис

PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;

NTSTATUS Pfnksdevicequerypower(
  [in] PKSDEVICE Device,
  [in] PIRP Irp,
  [in] DEVICE_POWER_STATE DeviceTo,
  [in] DEVICE_POWER_STATE DeviceFrom,
  [in] SYSTEM_POWER_STATE SystemTo,
  [in] SYSTEM_POWER_STATE SystemFrom,
  [in] POWER_ACTION Action
)
{...}

Параметры

[in] Device

Указатель на структуру KSDEVICE , которая отправила IRP_MN_QUERY_POWER.

[in] Irp

Указатель на IRP_MN_QUERY_POWER , выданный устройством.

[in] DeviceTo

Состояние питания, запрошенное издателем Irp.

[in] DeviceFrom

Текущее состояние питания устройства.

[in] SystemTo

Состояние системы, в которое необходимо перейти, указывается при запросе перехода состояния питания системы. Это значение не указано, если вызов вызван запросом на изменение состояния питания устройства.

[in] SystemFrom

Текущее состояние системы, указанное при запросе перехода состояния питания системы. Это значение не указано, если вызов вызван запросом на изменение состояния питания устройства.

[in] Action

Указывает дополнительные сведения о запрашиваемом переходе. Возможные значения являются перечислителями типа POWER_ACTION.

Возвращаемое значение

Должен возвращать STATUS_SUCCESS или код ошибки, возвращенный при попытке выполнить операцию. Возвращая STATUS_SUCCESS, драйвер гарантирует, что он не запустит никаких операций, которые изменили бы его возможность задать запрошенное состояние питания. Драйвер должен ставить в очередь все IRP, для которых потребуется такая операция, пока не завершится IRP_MN_SET_POWER , возвращающей устройство в приемлемое состояние питания.

Комментарии

Диспетчер питания или владелец политики управления питанием устройства отправляет запрос IRP_MN_QUERY_POWER , чтобы определить, может ли он изменить состояние питания системы или устройства (например, перейти в спящий режим).

Если драйвер не выполняет запрос IRP_MN_QUERY_POWER для состояния питания системы, диспетчер управления питанием обычно отвечает , выдавая IRP_MN_SET_POWER. Как правило, это IRP подтверждает текущее состояние системы. Однако возможно, что драйверы могут получить IRP_MN_SET_POWER в запрашиваемом состоянии или в другом промежуточном состоянии. Водители должны быть готовы справиться с этими ситуациями.

Мини-driver указывает адрес этой подпрограммы в элементе QueryPower своей структуры KSDEVICE_DISPATCH .

Эта подпрограмма является необязательной.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть ks.h (включая Ks.h)

См. также раздел

IRP_MN_QUERY_POWER

KSDEVICE_DISPATCH