функция обратного вызова EVT_NET_DEVICE_PREVIEW_WAKE_SOURCE (netdevice.h)

Реализуйте этот необязательный обратный вызов, чтобы отклонить шаблоны пробуждения, несовместимые с оборудованием.

Синтаксис

EVT_NET_DEVICE_PREVIEW_WAKE_SOURCE EvtNetDevicePreviewWakeSource;

NTSTATUS EvtNetDevicePreviewWakeSource(
  [_In_] WDFDEVICE Device,
  [_In_] NETWAKESOURCE WakeSource
)
{...}

Параметры

[_In_] Device

Объект WDFDEVICE, который драйвер клиента ранее получил с вызовом WdfDeviceCreate.

[_In_] WakeSource

Объект NETWAKESOURCE, представляющий проверяемый источник пробуждения.

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

Чтобы принять шаблон, функция обратного вызова должна возвращать STATUS_SUCCESS.

Чтобы отклонить шаблон, верните STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL.

Комментарии

Драйверы не требуются для реализации EvtNetDevicePreviewWakeSource, так как NetAdapterCx уже блокирует источники пробуждения, несовместимые с NET_ADAPTER_WAKE_BITMAP_CAPABILITIES драйвера. Однако если ваше оборудование имеет дополнительные ограничения, которые не могут быть выражены в структуре возможностей растрового изображения, вы можете предоставить EvtNetDevicePreviewWakeSource для применения этих дополнительных ограничений.

Зарегистрируйте реализацию этой функции обратного вызова, задав соответствующий член NET_DEVICE_POWER_POLICY_EVENT_CALLBACKS, а затем вызвав NetDeviceInitSetPowerPolicyEventCallbacks.

Клиентские драйверы обычно вызывают NetDeviceInitSetPowerPolicyEventCallbacks при создании объекта устройства перед вызовом WdfDeviceCreate.

В этом обратном вызове драйверы клиентов получают возможность отклонить источник пробуждения. Например, если количество фильтров питания в текущем списке источников пробуждения для устройства уже достигло или превысило количество поддерживаемых оборудованием фильтров питания, драйвер может отклонить этот источник пробуждения.

Дополнительные сведения см. в разделе "Настройка управления питанием".

Требования

   
Минимальная версия клиента Windows 10 версии 2004
Целевая платформа Универсальное
Заголовок netdevice.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL