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

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

Синтаксис

EVT_NET_DEVICE_PREVIEW_POWER_OFFLOAD EvtNetDevicePreviewPowerOffload;

NTSTATUS EvtNetDevicePreviewPowerOffload(
  [_In_] WDFDEVICE Device,
  [_In_] NETPOWEROFFLOAD PowerOffload
)
{...}

Параметры

[_In_] Device

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

[_In_] PowerOffload

Объект NETPOWEROFFLOAD, представляющий разгрузку протокола низкого энергопотребления для проверки.

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

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

Чтобы отклонить разгрузку протокола, верните STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL.

Комментарии

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

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 2004
Верхняя часть netdevice.h (включая netadaptercx.h)
IRQL PASSIVE_LEVEL