Функция KsSetPowerDispatch (ks.h)

Задает функцию диспетчеризации питания, вызываемую, когда объект драйвера получает IRP_MJ_POWER IRP. Это действует только в том случае, если для отправки или завершения интеграции питания вызывается KsDefaultDispatchPower .

Это повлияет на добавление этого заголовка объекта в список заголовков объектов, которые имеют подпрограммы диспетчеризации питания для выполнения. Заголовок этого списка хранится в заголовке устройства. Предполагается, что вызывающий объект ранее выделил заголовок устройства в базовом объекте устройства с KsAllocateDeviceHeader.

Синтаксис

KSDDKAPI VOID KsSetPowerDispatch(
  [in]           KSOBJECT_HEADER       Header,
  [in, optional] PFNKSCONTEXT_DISPATCH PowerDispatch,
  [in, optional] PVOID                 PowerContext
);

Параметры

[in] Header

Указывает на заголовок, ранее выделенный KsAllocateObjectHeader.

[in, optional] PowerDispatch

При необходимости содержит функцию диспетчеризации питания, которая будет вызвана, или значение NULL , если функция должна быть удалена из списка вызываемых функций. Эта функция не должна завершать отправленное IRP питания. Возвращаемое значение этой функции должно быть STATUS_SUCCESS. KsSetPowerDispatch можно вызвать при выполнении этой подпрограммы диспетчеризации питания, если цель состоит в том, чтобы управлять только этой записью списка. Управление другими записями списка может запутать текущее перечисление.

[in, optional] PowerContext

При необходимости содержит параметр контекста для передачи в функцию диспетчеризации питания.

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

None

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ks.h (включая Ks.h)
Библиотека Ks.lib

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

KStrContextDispatch