OID_PNP_ADD_WAKE_UP_PATTERN
The OID_PNP_ADD_WAKE_UP_PATTERN OID is sent by a protocol driver to a miniport driver to specify a wake-up pattern. The wake-up pattern, along with its mask, is described by an NDIS_PM_PACKET_PATTERN structure.
A protocol that enables pattern-match wake-up for a miniport driver (see OID_PNP_ENABLE_WAKE_UP) uses OID_PNP_ADD_WAKE_UP_PATTERN to specify a wake-up pattern. The wake-up pattern can be stored in host memory or on the network adapter, depending on the capabilities of the network adapter.
The InformationBuffer member of the NDIS_OID_REQUEST structure contains the following:
An NDIS_PM_PACKET_PATTERN structure that provides information about the pattern and its mask.
A mask that indicates which bytes of an incoming packet should be compared with corresponding bytes in the pattern. The mask starts with the first byte of the packet. The mask immediately follows the NDIS_PM_PACKET_PATTERN structure in the InformationBuffer. For more information about how this mask works, see the Network Device Class Power Management Reference specification.
A wake-up pattern, which begins PatternOffset bytes from the beginning of the InformationBuffer. For more information about wake-up patterns, see the Network Device Class Power Management Reference specification.
The number of wake-up patterns that the miniport driver can accept from a protocol might depend on the availability of resources, such as the host memory that the miniport driver has allocated for such patterns, or the available storage in the network adapter. If a miniport driver cannot add a wake-up pattern due to insufficient resources, the miniport driver returns NDIS_STATUS_RESOURCES in response to OID_PNP_ADD_WAKE_UP_PATTERN.
If a protocol driver tries to add a duplicate pattern, the miniport driver should return NDIS_STATUS_INVALID_DATA in response to OID_PNP_ADD_WAKE_UP_PATTERN.
An intermediate driver in which the upper edge receives this OID request must always propagate the request to the underlying miniport driver by calling NdisRequest or NdisCoRequest.
Requirements
Version |
Supported in NDIS 6.0 and NDIS 6.1. For NDIS 6.20 and later, use OID_PM_ADD_WOL_PATTERN instead. |
Header |
Ntddndis.h (include Ndis.h) |