PoSetPowerRequest function (ntifs.h)

The PoSetPowerRequest routine increments the count for the specified power request type.

Syntax

NTSTATUS PoSetPowerRequest(
  [in, out] PVOID              PowerRequest,
  [in]      POWER_REQUEST_TYPE Type
);

Parameters

[in, out] PowerRequest

A pointer to a power request object that was created by the PoCreatePowerRequest routine.

[in] Type

The type of power request. Set this parameter to the following POWER_REQUEST_TYPE enumeration value:

  • PowerRequestSystemRequired

Return value

PoSetPowerRequest returns STATUS_SUCCESS if the call is successful. If the call fails, possible error return codes include the following:

Return code Description
STATUS_NOT_SUPPORTED The Type parameter is set to an unsupported value.

Remarks

A driver can call the PoSetPowerRequest routine to request that the power manager override several types of default power behavior, which are specified as POWER_REQUEST_TYPE enumeration values. To restore the default behavior, the driver cancels the request by calling the PoClearPowerRequest routine.

The power manager maintains a count of the active requests for each power request type. The PoSetPowerRequest routine increments the count for the specified power request type by one. The PoClearPowerRequest routine decrements the count by one. A nonzero count indicates that requests from one or more components are active. After the count decrements to zero, the computer reverts to the default behavior for the specified power request type.

Requirements

Requirement Value
Minimum supported client Windows 7
Target Platform Universal
Header ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

See also

POWER_REQUEST_TYPE

PoClearPowerRequest

PoCreatePowerRequest