As a query, overlying drivers can use the OID_PM_WOL_PATTERN_LIST OID to enumerate the wake on LAN patterns that are set on an underlying network adapter. After a successful return from the query, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to a list of NDIS_PM_WOL_PATTERN structures that describe the currently added WOL patterns.
NDIS handles the query for miniport drivers. NDIS drivers can use the OID_PM_WOL_PATTERN_LIST OID to get a list of wake on LAN patterns that are set on an underlying network adapter.
For each NDIS_PM_WOL_PATTERN structure in the list, NDIS sets the NextWoLPatternOffset member to the offset from the beginning of the OID information buffer (that is, the beginning of the buffer that the InformationBuffer member of the NDIS_OID_REQUEST structure points to) to the beginning of the next NDIS_PM_WOL_PATTERN structure in the list. The offset in the NextWoLPatternOffset member of the last structure in the list is zero.
For offsets in an NDIS_PM_WOL_PATTERN structure other than NextWoLPatternOffset (for example, NameBufferOffset), NDIS provides offsets that are relative to the beginning of each NDIS_PM_WOL_PATTERN structure.
If there are no WOL patterns that are set on the network adapter, NDIS sets the DATA.QUERY_INFORMATION.BytesWritten member of the NDIS_OID_REQUEST structure to zero and returns NDIS_STATUS_SUCCESS for the request. The data within the DATA.QUERY_INFORMATION.InformationBuffer member is not modified by NDIS.
NDIS returns one of the following status codes for the request:
The request completed successfully. The InformationBuffer contains a pointer to a list of WOL patterns, if any.
The request is pending completion. The final status code and results will be passed to the OID request completion handler of the caller.
The information buffer was too short. NDIS set the DATA.QUERY_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.
The request failed for reasons other than the preceding reasons.
|Supported in NDIS 6.20 and later. Not requested for miniport drivers. (See Remarks section.)|