// ntddndis.h
typedef struct _NDIS_PM_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG EnabledWoLPacketPatterns;
ULONG EnabledProtocolOffloads;
ULONG WakeUpFlags;
ULONG MediaSpecificWakeUpEvents;
} NDIS_PM_PARAMETERS, *PNDIS_PM_PARAMETERS;
View the official Windows Driver Kit DDI reference
No description available.
The NDIS_PM_PARAMETERS structure specifies the current or new power management hardware capabilities that are enabled for a network adapter.
Header
The type, revision, and size of the NDIS_PM_PARAMETERS structure. This member is formatted as an NDIS_OBJECT_HEADER structure.
The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_PM_PARAMETERS structure, the driver must set the Revision member of Header to the following value:
Added various changes for NDIS 6.30.
Set the Size member to NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_2.
Original version for NDIS 6.20.
Set the Size member to NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_1.
EnabledWoLPacketPatterns
A ULONG value that contains a bitwise OR of flags that correspond to capabilities that the miniport driver reported in the SupportedWoLPacketPatterns member of the NDIS_PM_CAPABILITIES structure. NDIS uses these flags to enable the wake-on-LAN (WOL) patterns that a network adapter uses to wake the local computer from a low power state. For more information about WOL patterns, see NDIS_PM_WOL_PATTERN.
The following flags are used:
If this flag is set, the network adapter is enabled to generate a wake-up event when it receives a packet that matches a configured bitmap pattern.
If this flag is set, the network adapter is enabled to generate a wake-up event when it receives a WOL magic packet. A magic packet contains within its payload a string of six bytes with a value of 0xFF, followed immediately by 16 contiguous copies of the receiving network adapter's media access control (MAC) address.
If this flag is set, the network adapter is enabled to generate a wake-up event when it receives an EAPOL request identifier message.
If this flag is set, the network adapter is enabled to generate a wake-up event when it receives an IPv4 TCP SYN packet. Remote hosts send TCP SYN packets to initiate a TCP connection to the local computer.
If this flag is set, the network adapter is enabled to generate a wake-up event when it receives an IPv6 TCP SYN packet.
If this flag is set, the network adapter must treat as wildcard values any zero-filled, or unspecified, values for IPv4 addresses and TCP/UDP ports in a WOL pattern. In this way, the wildcard value matches any IPv4 address and any port value of the incoming packet in the location specified by the WOL pattern.
If this flag is set, the network adapter is enabled to generate a wake-up event if the following pattern-matching conditions are true:
[!NOTE] Wildcard values that are enabled by this flag can include unspecified IPv4 source and destination addresses, as well as unspecified source and destination ports.
If this flag is set, the network adapter must treat as wildcard values any zero-filled, or unspecified, values for IPv6 addresses and TCP/UDP ports in a WOL pattern. In this way, the wildcard value matches any IPv6 address and any port value of the incoming packet in the location specified by the WOL pattern.
If this flag is set, the network adapter is enabled to generate a wake-up event if the following pattern-matching conditions are true:
[!NOTE] Wildcard values that are enabled by this flag can include unspecified IPv6 source and destination addresses, as well as unspecified source and destination ports.
EnabledProtocolOffloads
A ULONG value that contains a bitwise OR of flags that correspond to capabilities that the miniport driver reported in the SupportedProtocolOffloads member of the NDIS_PM_CAPABILITIES structure. NDIS uses these flags to enable the low power protocol offload capabilities on a network adapter. The following flags are used:
If this bit is set, the overlying driver will request the network adapter to enable the ARP protocol offload capability. As soon as this protocol offload has been configured by a set request of OID_PM_ADD_PROTOCOL_OFFLOAD, the driver should enable the network adapter to respond to IPv4 ARP packets while it is in a low-power state.
If this bit is set, the overlying driver will request the network adapter to enable the IPv6 Neighbor Solicitation (NS) protocol offload capability. As soon as this protocol offload has been configured by a set request of OID_PM_ADD_PROTOCOL_OFFLOAD, the driver should enable the network adapter to respond to NS packets while it is in a low-power state.
If this bit is set, the overlying driver will request the network adapter to enable the IEEE 802.11i Robust Security Network (RSN) protocol offload capability. As soon as this protocol offload has been configured by a set request of OID_PM_ADD_PROTOCOL_OFFLOAD, the driver should enable the network adapter to respond to RSN re-key requests packets while it is in a low power state.
WakeUpFlags
A ULONG value that contains a bitwise OR of NDIS_PM_WAKE_ON_ Xxx flags. NDIS uses these flags to enable wake-up capabilities on a network adapter. This member uses the following flags:
If this flag is set, the network adapter is enabled to generate a wake-up event when the link state changes from media disconnected to media connected.
For more information about this WOL capability, see Low Power on Media Disconnect.
If this flag is set, the network adapter is enabled to generate a wake-up event when the link state changes from media connected to media disconnected.
If this flag is set, the network adapter is enabled to generate a wake-up event whenever one of the following events occurs:
[!NOTE] The NDIS_PM_SELECTIVE_SUSPEND_ENABLED flag is available in NDIS 6.30 and later.
If this flag is set, no other power management flags can be set in the WakeUpFlags member and the EnabledWoLPacketPatterns member must be set to zero.
If NDIS sets the NDIS_PM_SELECTIVE_SUSPEND_ENABLED flag, it issues the OID set request of OID_PM_PARAMETERS directly to the miniport driver. This allows NDIS to bypass the processing by filter drivers in the networking driver stack.
For more information about the selective suspend power management capability, see NDIS Selective Suspend.
MediaSpecificWakeUpEvents
A ULONG value that contains a bitwise OR of flags. These flags specify the media-specific wake-up events that a network adapter supports.
Starting with NDIS 6.30, the following flags are defined:
If this flag is set, the 802.11 network adapter is enabled to generate a wake-up event when it detects a service set identifier (SSID) that was specified through a network offload (NLO).
For more information about NLO, see Wi-Fi Network List Offload.
If this flag is set, the 802.11 network adapter is enabled to generate a wake-up event when it disassociates with the access point (AP).
If this flag is set, the 802.11 network adapter is enabled to generate a wake-up event when it encounters an error during the IEEE 802.11i RSN group transient key (GTK) handshake with the AP.
If this flag is set, the 802.11 network adapter is enabled to generate a wake-up event when it receives the first frame of the IEEE 802.11i RSN 4-way handshake with the AP. This handshake is performed when the adapter authenticates with the AP.
If this flag is set, the mobile broadband (MB) network adapter is enabled to generate a wake-up event when its registration state to the MB Service has changed.
If this flag is set, the MB network adapter is enabled to generate a wake-up event when the MB Service has to be notified about the receipt of a Short Message Service (SMS) message. The adapter generates this wake-up event either after the completion of a previously issued OID_WWAN_SMS_READ query request, or the arrival of a new class-0 (flash/alert) message from the network provider as an event notification.
If this flag is set, the MB network adapter is enabled to generate a wake-up event when it receives an Unstructured Supplementary Service Data (USSD) message.
If this flag is set, the MB network adapter is enabled to generate a wake-up event when the availability of cellular packet data changes. This flag is new in Windows 10.
If this flag is set, the MB network adapter is enabled to generate a wake-up event when the UICC (SIM) card is inserted, removed, or enters an error state. This flag is new in Windows 10.
The NDIS_PM_PARAMETERS structure specifies the enabled power management hardware capabilities for the OID_PM_PARAMETERS OID. When the OID_PM_PARAMETERS OID is queried, this structure provides the current power management configuration. When the OID_PM_PARAMETERS OID is set, this structure specifies a new power management configuration that the network adapter should use.
An overlying driver should not try to enable capabilities that a network adapter does not support. To enable an overlying driver to determine what capabilities a network adapter provides, NDIS provides the capabilities in the PowerManagementCapabilitiesEx member of the NDIS_BIND_PARAMETERS structure.
[!NOTE] NDIS 6.20 and later drivers must use the PowerManagementCapabilitiesEx member of the NDIS_BIND_PARAMETERS structure instead of the PowerManagementCapabilities member.