Network Wake-Up Events (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.A network wake-up event is an external event that causes a NIC to wake the system. A NIC wakes the system by asserting a bus-specific wake-up signal that eventually results in the system making a transition from a sleeping state to the working state.
NDIS defines the following two network wake-up events:
Receipt of a network wake-up frame that contains a pattern that was specified by a bound protocol driver.
Receipt of a Magic Packet.
After a miniport driver completes initialization, both NDIS and bound protocol drivers can query the miniport driver with OID_PNP_CAPABILITIESto determine the wake-up capabilities of the miniport driver's NIC. A NIC can support any combination of network wake-up events, including none at all. NDIS treats the miniport driver as power management-aware if the miniport driver returns NDIS_STATUS_SUCCESS in response to a query of OID_PNP_CAPABILITIES. This is true regardless of the wake-up capabilities that the miniport driver reported.
Depending on the capabilities of the NIC, a network wake-up event can occur from any device power state, including the highest-powered state, D0.
If a miniport driver, in its response to an OID_PNP_CAPABILITIESquery, indicates that its NIC can signal a wake-up on the receipt of a packet that contains a specified pattern, a bound protocol can enable network wake-up frames for the NIC and specify wake-up patterns. To enable this type of wake-up, a protocol driver sets the NDIS_PNP_WAKE_UP_PATTERN_MATCH flag in OID_PNP_ENABLE_WAKE_UP.
A protocol driver uses OID_PNP_ADD_WAKE_UP_PATTERNto specify a wake-up pattern, along with a mask that indicates which bytes of an incoming packet should be compared with the pattern. A protocol driver can remove a wake-up pattern with OID_PNP_REMOVE_WAKE_UP_PATTERN.
For more information about network wake-up frames, see Power Management for Network Devices.
A Magic Packet is a packet that contains 16 contiguous copies of the receiving NIC's MAC address.