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

客户端驱动程序以前通过调用 WdfDeviceCreate 获取的 WDFDEVICE 对象。

[_In_] PowerOffload

表示要检查的低功率协议卸载的 NETPOWEROFFLOAD 对象。

返回值

若要接受协议卸载,回调函数必须返回STATUS_SUCCESS。

若要拒绝协议卸载,请返回STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL。

备注

不需要驱动程序实现 EvtNetDevicePreviewPowerOffload,因为 NetAdapterCx 已阻止与驱动程序的电源卸载功能不兼容的协议卸载: NET_ADAPTER_POWER_OFFLOAD_ARP_CAPABILITIESNET_ADAPTER_POWER_OFFLOAD_NS_CAPABILITIES。 但是,如果硬件具有无法在这些功能结构中表示的其他限制,则可以提供 EvtNetDevicePreviewPowerOffload 来强制实施这些附加限制。

通过设置 NET_DEVICE_POWER_POLICY_EVENT_CALLBACKS的相应成员,然后调用 NetDeviceInitSetPowerPolicyEventCallbacks 来注册此回调函数的实现。

客户端驱动程序通常在创建设备对象之前调用 NetDeviceInitSetPowerPolicyEventCallbacks ,然后再调用 WdfDeviceCreate

在此回调中,客户端驱动程序有机会拒绝协议卸载。 例如,如果 设备 当前协议卸载列表中的协议卸载数已达到或超过硬件支持的协议卸载数,驱动程序可以拒绝此协议卸载。

有关详细信息,请参阅 配置电源管理

要求

   
最低受支持的客户端 Windows 10 版本 2004
Header netdevice.h (包括 netadaptercx.h)
IRQL PASSIVE_LEVEL