Функция 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 |