IOCTL_POWER_QUERY (Compact 2013)
3/26/2014
This I/O control is deprecated and is not called by Power Manager. It checks whether changing power state is feasible. Send this message with DeviceIoControl.
Syntax
BOOL DeviceIoControl(
HANDLE hDevice, // handle to the device
DWORD dwIoControlCode, // use IOCTL_POWER_QUERY
LPVOID lpInBuffer, // pointer to input buffer
DWORD nInBufferSize, // input buffer size
LPVOID lpOutBuffer, // pointer to output buffer
DWORD nOutBufferSize, // output buffer size
LPDWORD lpBytesReturned, // number of bytes returned
OVERLAPPED lpOverlapped // pointer to OVERLAPPED structure
);
Parameters
- hDevice
[in] Handle to the device.
- dwIoControlCode
[in] The control code for the operation. Use IOCTL_POWER_QUERY for this operation.
- lpInBuffer
[in] Set to a pointer to a POWER_RELATIONSHIP structure. This defines the target device for parent and bus drivers. Otherwise, set to NULL.
- nInBufferSize
[in] Size of the POWER_RELATIONSHIP structure.
lpOutBuffer
[in] Set to a pointer to CEDEVICE_POWER_STATE. This is the device power state that the system is querying for a pending IOCTL_POWER_SET operation.[out] Optional. Set to PwrDeviceUnspecified to veto the query.
- nOutBufferSize
[out] Size of the CEDEVICE_POWER_STATE parameter.
- lpBytesReturned
[out] Number of bytes passed back in the lpOutBuffer buffer.
Return Values
Returns TRUE if successful; otherwise, returns FALSE.
Remarks
To veto the query, the driver should write PwrDeviceUnspecified into lpOutBuffer. Otherwise, Power Manager assumes that the driver accepted.
Power Manager sends this I/O control only to drivers that support the power management I/O controls.
This is not always sent before a state transition.
The default implementation of Power Manager does not use IOCTL_POWER_QUERY. OEMs can customize Power Manager to call IOCTL_POWER_QUERY and to honor the return value associated with it so that the code supporting IOCTL_POWER_QUERY is still in the model device driver (MDD).
Requirements
Header |
pm.h |
See Also
Reference
Power Management I/O Controls
CEDEVICE_POWER_STATE
IOCTL_POWER_SET
POWER_RELATIONSHIP