OID_PM_PARAMETERS

As a query, protocol drivers can use the OID_PM_PARAMETERS OID to query the power management hardware capabilities of a network adapter that are currently enabled. After a successful return from the OID query request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_PM_PARAMETERS structure.

As a set, protocol drivers can use the OID_PM_PARAMETERS OID to enable or disable the current hardware capabilities of a network adapter. The protocol driver provides a pointer to an NDIS_PM_PARAMETERS structure in the InformationBuffer member of the NDIS_OID_REQUEST structure.

Remarks

Starting with NDIS 6.20, overlying protocol and filter drivers use OID_PM_PARAMETERS to query and set the power management hardware capabilities of a network adapter that are currently enabled.

When an overlying driver queries the OID_PM_PARAMETERS OID, NDIS completes the request without forwarding it to the miniport driver. NDIS stores the requested settings and combines them with the settings from other such requests. Before NDIS transitions the network adapter to the low power state, NDIS sends a set request to the miniport driver that contains the combined settings from all of the requests that NDIS stored.

The capabilities that are currently enabled can be a subset of the capabilities that the hardware supports. For more information about the capabilities that the hardware supports, see OID_PM_HARDWARE_CAPABILITIES.

Note  If NDIS sets the NDIS_PM_SELECTIVE_SUSPEND_ENABLED flag in the WakeUpFlags member of NDIS_PM_PARAMETERS structure, 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.

NDIS or the miniport driver returns one of the following status codes for the request:

NDIS_STATUS_SUCCESS
The request completed successfully.

NDIS_STATUS_PENDING
The request is pending completion. NDIS will pass the final status code and results to the OID request completion handler of the caller after the request is complete.

NDIS_STATUS_BUFFER_TOO_SHORT
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.

NDIS_STATUS_INVALID_PARAMETER
The request failed because it tried to enable a capability that the underlying network adapter does not support.

NDIS_STATUS_FAILURE
The request failed for reasons other than the preceding reasons.

Requirements

Version

Supported in NDIS 6.20 and later.

Header

Ntddndis.h (include Ndis.h)

See also

NDIS_OID_REQUEST

NDIS_PM_PARAMETERS

OID_PM_HARDWARE_CAPABILITIES