D3COLD_REQUEST_AUX_POWER callback function (wdm.h)

Enables the function device object (FDO) to convey its auxiliary power requirement.

Syntax

D3COLD_REQUEST_AUX_POWER D3coldRequestAuxPower;

NTSTATUS D3coldRequestAuxPower(
  [_In_reads_opt_(_Inexpressible_("varies"))] PVOID Context,
  [_In_]                                      ULONG AuxPowerInMilliWatts,
  [_Out_]                                     PULONG RetryInSeconds
)
{...}

Parameters

Context

The handle to the device.

[_In_] AuxPowerInMilliWatts

The wattage in units of mW that the device needs for D3cold when the system is in S0. This value must be less than 0x80000000.

[_Out_] RetryInSeconds

A pointer to a ULONG variable that receives the number of seconds the driver can retry its request when the request fails with STATUS_RETRY.

Return value

Return STATUS_SUCCESS if the operation succeeds. Otherwise, return an appropriate NTSTATUS Values error code. For more information, see NTSTATUS Values. Possible errors are as follows:

Error code Description
STATUS_INVALID_PARAMETER The input parameter is not valid.
STATUS_INVALID_DEVICE_REQUEST The device is not in D0 or not the requester is not Function 0.
STATUS_RETRY The request failed and the system indicates that a retry can be made. RetryInSeconds will contain the number of seconds the driver should wait before making the next request.
STATUS_UNSUCCESSFUL The request failed and the system indicates that the current requested value is not possible.
STATUS_SUCCESS The request succeeded.

Remarks

A device driver that successfully queries for the GUID_D3COLD_AUX_POWER_AND_TIMING_INTERFACE interface receives a pointer to a D3COLD_AUX_POWER_AND_TIMING_INTERFACE structure in which the driver sets the RequestAuxPower member to a pointer to its implementation of the D3COLD_REQUEST_AUX_POWER callback function.

  • For a multi-function device, only Function 0 is expected to call this routine and set the auxiliary power for the entire device.

  • Function 0 must be in D0 state when this routine is called.

  • There is no guarantee that the core power rail power will be removed after the success of this request.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1803
Header wdm.h (include Wdm.h)