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. |
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
Reference
CEDEVICE_POWER_STATEIOCTL_POWER_SET