OID_PM_CURRENT_CAPABILITIES

As a query, overlying drivers can use the OID_PM_CURRENT_CAPABILITIES OID to query the currently available power management capabilities of a network adapter. 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_CAPABILITIES structure.

Remarks

NDIS handles the query for miniport drivers. Starting with NDIS 6.20, miniport drivers supply the power management hardware capabilities during initialization. However, NDIS can hide some capabilities from the protocol driver. For example, NDIS might report different capabilities when a user disables some or all of the power management capabilities.

Note that the current power management capabilities that NDIS reports to a protocol driver are not necessarily the same as the hardware capabilities that the miniport driver reported to NDIS.

NDIS reports the power management capabilities of an underlying network adapter to overlying protocol drivers in the PowerManagementCapabilitiesEx member of the NDIS_BIND_PARAMETERS structure during the bind operation. Therefore, protocol drivers do not have to query the OID.

NDIS issues an NDIS_STATUS_PM_CAPABILITIES_CHANGE status indication to report changes in the power management capabilities that are available to overlying drivers.

If the underlying network adapter has an NDIS 6.1 or older miniport driver, NDIS translates the power management capabilities of the underlying network adapter to an NDIS_PM_CAPABILITIES structure.

NDIS returns one of the following status codes for the request:

NDIS_STATUS_SUCCESS
The request completed successfully. The InformationBuffer points to an NDIS_PM_CAPABILITIES structure.

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_FAILURE
The request failed for reasons other than the preceding reasons.

Requirements

Version

Supported in NDIS 6.20 and later. Not requested for miniport drivers. (See Remarks section.)

Header

Ntddndis.h (include Ndis.h)

See also

NDIS_BIND_PARAMETERS

NDIS_OID_REQUEST

NDIS_PM_CAPABILITIES

NDIS_STATUS_PM_CAPABILITIES_CHANGE