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