PEP_POWER_CONTROL_REQUEST structure (pep_x.h)
The PEP_POWER_CONTROL_REQUEST structure contains a request from a driver for a power control operation.
Syntax
typedef struct _PEP_POWER_CONTROL_REQUEST {
[in] PEPHANDLE DeviceHandle;
[in] LPCGUID PowerControlCode;
[in] PVOID InBuffer;
[in] SIZE_T InBufferSize;
[in] PVOID OutBuffer;
[in] SIZE_T OutBufferSize;
[out] SIZE_T BytesReturned;
[out] NTSTATUS Status;
} PEP_POWER_CONTROL_REQUEST, *PPEP_POWER_CONTROL_REQUEST;
Members
[in] DeviceHandle
A PEPHANDLE value that identifies the device. The PEP supplied this handle in response to a previous PEP_DPM_REGISTER_DEVICE notification.
[in] PowerControlCode
A pointer to a GUID value that specifies the power control operation to perform. This is the same value that the requesting driver supplied as the PowerControlCode parameter to the PoFxPowerControl routine.
[in] InBuffer
A pointer to a driver-allocated input buffer that contains the input parameters for this power control operation. This is the same value that the requesting driver supplied as the InBuffer parameter to the PoFxPowerControl routine.
[in] InBufferSize
The size in bytes of the buffer pointed to by InBuffer. This is the same value that the requesting driver supplied as the InBufferSize parameter to the PoFxPowerControl routine.
[in] OutBuffer
A pointer to a driver-allocated output buffer to which the PEP writes the results of this power control operation. This is the same value that the requesting driver supplied as the OutBuffer parameter to the PoFxPowerControl routine.
[in] OutBufferSize
The size in bytes of the buffer pointed to by OutBuffer.
[out] BytesReturned
The number of bytes that the PEP wrote to the output buffer pointed to by OutBuffer.
[out] Status
The status of the requested power control operation. If the operation is successful, the PEP sets this member to STATUS_SUCCESS. Otherwise, the PEP sets this member to an appropriate error status code.
Remarks
This structure is used by the PEP_DPM_POWER_CONTROL_REQUEST notification. The first six members of the structure contain input values that are supplied by the Windows power management Framework (PoFx). The last two members contain values that the PEP writes to the structure in response to this notification. In addition, the PEP writes to the output buffer pointed to by the OutBuffer member.
If the output buffer is too small to receive all of the result data from the operation, the PEP sets the Status member of the structure to STATUS_INSUFFICIENT_RESOURCES, sets the BytesReturned member to the required size of the output buffer, and (typically) writes no data to the output buffer.
The driver for a device can call the PoFxPowerControl routine to request a power control operation on the device. During this call, PoFx delegates the handling of this request to the PEP that owns the device. The PowerControlCode member of the PEP_POWER_CONTROL_REQUEST structure contains a custom control code whose meaning is understood by both the driver and the PEP for the device.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 10. |
Header | pep_x.h (include Pep_x.h) |