OID_PNP_ENABLE_WAKE_UP (Windows CE 5.0)

Send Feedback

This object specifies which wake-up capabilities a miniport should enable in its NIC. This object can also be queried to determine which wake-up capabilities are enabled for a NIC.

The InformationBuffer of an associated NdisRequest structure contains the following flags, which can be combined as a bitwise-OR to enable a combination of wake-up events:

Flag Description
NDIS_PNP_WAKE_UP_MAGIC_PACKET When set, specifies that the miniport should enable the NIC to signal a wake-up event on receipt of a Magic Packet. (A Magic Packet is a packet that contains 16 contiguous copies of the receiving NIC's Ethernet address.) When cleared, specifies that the miniport should disable the NIC from signaling such a wake-up event.
NDIS_PNP_WAKE_UP_PATTERN_MATCH When set, specifies that the miniport should enable the NIC to signal a wake-up event on receipt of a packet that contains a pattern specified by the protocol with OID_PNP_ADD_WAKE_UP_PATTERN. When cleared, specifies that the miniport should disable the NIC from signaling such a wake-up event.
NDIS_PNP_WAKE_UP_LINK_CHANGE When set, specifies that the miniport should enable the NIC to signal a wake-up event in response to a link change (the connection or disconnection of the NIC's network cable). When cleared, specifies that the miniport should disable the NIC from signaling such a wake-up event.

After querying a miniport's wake-up capabilities with an OID_PNP_CAPABILITIES request, a protocol driver can use OID_PNP_ENABLE_WAKE_UP to enable one or more of the NIC's wake-up capabilities. A protocol driver can also query this OID to determine which wake-up capabilities are enabled for a NIC.

NDIS does not immediately enable the wake-up capabilities specified by a protocol. Instead, NDIS keeps track of the wake-up capabilities enabled by the protocol and, just before the miniport transitions to a low-power state, sends an OID_PNP_ENABLE_WAKE_UP to the miniport to enable the appropriate wake-up events.

Wake up due to a link change is enabled by default, provided that the NIC supports such a wake-up event. A protocol cannot enable or disable a link-change wake-up by setting or clearing the NDIS_PNP_WAKE_UP_LINK_CHANGE flag in OID_PNP_ENABLE_WAKE_UP. NDIS, however, sets or clears this flag to enable or disable link-change wake-up, as described below.

Before the miniport transitions to a low-power state (that is, before NDIS sends the miniport an OID_PNP_SET_POWER request), NDIS sends the miniport an OID_PNP_ENABLE_WAKE_UP request to enable the appropriate wake-up capabilities. There are two basic scenarios:

  • If the system is transitioning from the fully on state to a sleeping state, NDIS disables link-change wake-up. If the protocol previously enabled magic-packet wake-up and or pattern-match wake-up, NDIS also enables enable magic-packet wake-up or pattern-match wake-up. This configuration of enabled/disabled wake-up events prevents a link change from inappropriately waking the system when the system is in a sleeping state but enables the NIC to wake the system in response to a magic packet or a pattern match.
  • If the NIC is transitioning from the fully on state to a sleeping state because of a link change (someone disconnected the cable from the NIC), NDIS enables link-change wake-up. NDIS also disables magic-packet wake-up and pattern-match wake-up. In this case, the connection of the network cable to the NIC will cause the NIC to signal a wake-up.

NDIS never enables all three wake-up events for a NIC. NDIS either enables link-change wake-up and disables magic-packet and pattern-match wake-up or disables link-change wake-up and enables any wake-up capabilities (magic-packet wake-up or pattern-match wake-up) enabled by the protocol.

The miniport must take the appropriate device-dependent steps to enable or disable wake-up events on the NIC.

An intermediate driver whose upper edge receives this request must always propagate the request to the underlying miniport by calling NdisRequest.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Ntddndis.h.

See Also

NDIS_REQUEST | NdisRequest | NDIS_PM_PACKET_PATTERN | NDIS_PNP_CAPABILITIES | OID_PNP_ADD_WAKE_UP_PATTERN | OID_PNP_WAKE_UP_PATTERN_LIST | OID_PNP_SET_POWER | OID_PNP_CAPABILITIES

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.