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.
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:
The request completed successfully. The InformationBuffer points to an NDIS_PM_CAPABILITIES structure.
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.
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.)|