Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function requests that Power Manager change the power state of a device.

Syntax

DWORD DevicePowerNotify(
  PVOID 
pvDevice,
  CEDEVICE_POWER_STATE 
DeviceState,
  DWORD 
Flags
);

Parameters

pvDevice

[in] Specifies the device. Must be a valid LPWSTRdevice name, for example, COM1:.

DeviceState

[in] Indicates the device power state specified in CEDEVICE_POWER_STATE.

Flags

[in] Set to POWER_NAME to specify the name of the device that is requesting the power request.

Return Value

ERROR_FILE_NOT_FOUND

Indicates that the device class or the device within the device class cannot be found.

ERROR_INVALID_PARAMETER

Indicates that there is no valid parameter.

ERROR_WRITE_FAULT

Indicates that the attempt to update the device power state failed.

Win32 error code

Propagated from the IOCTL_POWER_SETcall.

Remarks

When DevicePowerNotifyis called, qualify the name of your device with an associated class. For example, {8DD679CE-8AB4-43c8-A14A-EA4963FAA715}\DSK1:refers to a power-managed block device called DSK1. If no class qualification is present, the generic power-manageable class {A32942B7-920C-486b-B0E6-92A702A99B35}is assumed.

A device driver can notify Power Manager that it wants to change its device power level using this function. If no entity has requested a power level requirement for the device, Power Manager may issue an IOCTL_POWER_SETto the requested device power level. Drivers should not assume that successful calls to this function will result in an IOCTL_POWER_SETor that subsequent IOCTL_POWER_SEToperations are a result of this call.

Power Manager supports DevicePowerNotifyrequests from a device while processing IOCTL_POWER_CAPABILITIES. This enables devices that are set to be loaded at a device power state other than D0 to request that their power state value be updated immediately following registration with Power Manager. As with any DevicePowerNotifyfunction call, the request might not result in a device power state update. This depends on constraints imposed on Power Manager by applications, as well as the system power state configuration.

Drivers that support power management should report their capabilities as accurately as possible during enumeration. From then on, they will receive requests from Power Manager to get or change their device power states. Devices that can manage their own power should use DevicePowerNotifyto request that Power Manager change their device power state.

See Also