NET_WAKE_SOURCE_LIST structure (netwakesourcelist.h)

The NET_WAKE_SOURCE_LIST structure represents a list of wake-on-LAN (WoL) sources for a net adapter.

Syntax

typedef struct _NET_WAKE_SOURCE_LIST {
  ULONG Size;
  void  *Reserved[4];
} NET_WAKE_SOURCE_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_WAKE_SOURCE_LIST_INIT to initialize this structure, then call NetDeviceGetWakeSourceList to get the list of wake sources from this net adapter. After you obtain the list, call NetWakeSourceListGetCount with this structure to get the number of NETWAKESOURCE objects that represents the wake sources, then loop over the objects and call NetWakeSourceListGetElement to retrieve each one. Once you have obtained a NETWAKESOURCE object, call NetWakeSourceGetType to get the type of that wake source so you can call the appropriate function to get the wake source's parameters.

The client driver must only call wake source-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_WAKE_SOURCE callback function. Otherwise, the call results in a system bugcheck.

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

Requirements

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

See also

Configuring power management

NET_WAKE_SOURCE_LIST_INIT

NetDeviceGetWakeSourceList

NetWakeSourceListGetCount

NetWakeSourceListGetElement

NetWakeSourceGetType