функция обратного вызова 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 (включая netadaptercx.h)
IRQL PASSIVE_LEVEL