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


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

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

Это влияет на добавление этого заголовка объекта в список заголовков объектов с подпрограммами отправки питания для выполнения. Голова этого списка хранится заголовком устройства. Предполагает, что вызывающий объект ранее выделил заголовок устройства в базовом объекте устройства с 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

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

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

Никакой

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib

См. также

KStrContextDispatch