NET_POWER_OFFLOAD_LIST structure (netpoweroffloadlist.h)

The NET_POWER_OFFLOAD_LIST structure represents a list of low power protocol offloads to a net adapter.

Syntax

typedef struct _NET_POWER_OFFLOAD_LIST {
  ULONG Size;
  void  *Reserved[4];
} NET_POWER_OFFLOAD_LIST;

Members

Size

The size of this structure, in bytes.

Reserved[4]

Reserved. Client drivers must not read or write to this value directly.

Remarks

Call NET_POWER_OFFLOAD_LIST_INIT to initialize this structure, then call NetDeviceGetPowerOffloadList to get the list of low power offloads to this net adapter. After you obtain the list, call NetPowerOffloadListGetCount with this structure to get the number of NETPOWEROFFLOAD objects that represents the offloads, then loop over the objects and call NetPowerOffloadListGetElement to retrieve each one. Once you have obtained a NETPOWEROFFLOAD object, call NetPowerOffloadGetType to get the type of that offload so you can call the appropriate function to get the offload's parameters.

The client driver must only call power offload-related functions during a power transition, typically from its EVT_WDF_DEVICE_ARM_WAKE_FROM_SX, EVT_WDF_DEVICE_ARM_WAKE_FROM_S0, or EVT_NET_DEVICE_PREVIEW_POWER_OFFLOAD callback function. Otherwise, the call results in a system bugcheck.

For a code sample of working with NETPOWEROFFLOAD objects, see Configuring power management.

Requirements

Requirement Value
Minimum supported client Windows 10, version 2004
Header netpoweroffloadlist.h (include netadaptercx.h)

See also

Configuring power management

NET_POWER_OFFLOAD_LIST_INIT

NetDeviceGetPowerOffloadList

NetPowerOffloadListGetCount

NetPowerOffloadListGetElement

NetPowerOffloadGetType