DXGKCB_POWERRUNTIMECONTROLREQUEST callback function (d3dkmddi.h)

Called by the display miniport driver to exchange information with the Power Engine Plug-in (PEP).

Syntax

DXGKCB_POWERRUNTIMECONTROLREQUEST DxgkcbPowerruntimecontrolrequest;

NTSTATUS DxgkcbPowerruntimecontrolrequest(
  IN_CONST_HANDLE hAdapter,
  IN LPCGUID PowerControlCode,
  IN PVOID InBuffer,
  IN SIZE_T InBufferSize,
  OUT PVOID OutBuffer,
  IN SIZE_T OutBufferSize,
  OUT PSIZE_T BytesReturned
)
{...}

Parameters

hAdapter

[in] A handle to the display adapter. The display miniport driver receives the handle from the DeviceHandle member of the DXGKRNL_INTERFACE structure in a call to its DxgkDdiStartDevice function.

PowerControlCode

InBuffer

InBufferSize

OutBuffer

OutBufferSize

BytesReturned

Return value

Returns STATUS_SUCCESS if it succeeds. Otherwise, it returns one of the error codes defined in Ntstatus.h.

Remarks

Note  To avoid a possible deadlock, do not call the DxgkCbSetPowerComponentActive function until this function has returned.
 
Although the driver can use any GUID in the PowerControlCode parameter, the following GUIDs that are defined in D3dkmddi.h are recommended. By using these GUIDs, the display port driver can issue Event Tracing for Windows (ETW) events, which are useful to profile driver performance issues.
GUID_DXGKDDI_POWER_VOLTAGE_UP
Increase the voltage.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN
Decrease the voltage.
GUID_DXGKDDI_POWER_VOLTAGE
Change the voltage, but the driver doesn't know if the change is an increase or decrease.
GUID_DXGKDDI_POWER_CLOCK_UP
Increase the clock setting.
GUID_DXGKDDI_POWER_CLOCK_DOWN
Decrease the clock setting.
GUID_DXGKDDI_POWER_CLOCK
Change the clock setting, but the driver doesn't know if the change is an increase or decrease.
GUID_DXGKDDI_POWER_BANDWIDTH_UP
Increase the bandwidth.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN
Decrease the bandwidth.
GUID_DXGKDDI_POWER_BANDWIDTH
Change the bandwidth, but the driver doesn't know if the change is an increase or decrease.

These GUIDs do not imply that there is any communication protocol between the display miniport driver and the PEP, nor do they imply that there are any restrictions on the values that can be passed between the display miniport driver and the PEP.

Requirements

   
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Target Platform Desktop
Header d3dkmddi.h (include D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

See also

DXGKRNL_INTERFACE

DxgkCbSetPowerComponentActive

DxgkDdiStartDevice