DXGKCB_POWERRUNTIMECONTROLREQUEST回呼函式 (d3dkmddi.h)

內核模式顯示迷你埠驅動程式會呼叫 DXGKCB_POWERRUNTIMECONTROLREQUEST ,以與 Power Engine 外掛程式 (PEP) 交換資訊。

語法

DXGKCB_POWERRUNTIMECONTROLREQUEST DxgkcbPowerruntimecontrolrequest;

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

參數

[in] hAdapter

顯示配接器的句柄。 顯示迷你埠驅動程式會在呼叫其 DxgkDdiStartDevice 函式時,從 DXGKRNL_INTERFACE 結構的 DeviceHandle 成員接收句柄。

[in] PowerControlCode

GUID 的指標,定義顯示迷你埠驅動程式控制項要求的意義。 如需詳細資訊,請參閱<備註>。

[in, optional] InBuffer

輸入緩衝區的選擇性指標。

[in] InBufferSize

InBuffer 指向之選擇性緩衝區的大小,以位元組為單位。 如果未提供 InBuffer ,請將 設定為零。

[in, optional] OutBuffer

輸出緩衝區的選擇性指標。

[in] OutBufferSize

OutBuffer 指向之選擇性緩衝區的大小,以位元組為單位。 如果未提供 OutBuffer ,請將 設定為零。

[out] BytesReturned

OutBuffer 指向的緩衝區中傳回的實際位元組數目。 傳回的值會是 <= OutBufferSize

傳回值

如果成功,DXGKCB_POWERRUNTIMECONTROLREQUEST 會傳回STATUS_SUCCESS。 否則,它會傳回 Ntstatus.h 中定義的其中一個錯誤碼。

備註

注意

若要避免可能的死結,除非傳回此函式,否則請勿呼叫 DXGKCB_SETPOWERCOMPONENTACTIVE 函式。

DXGKCB_XXX 函式是由 Dxgkrnl 實作。 若要使用此回呼函式,請透過 DXGKRNL_INTERFACE 呼叫 DxgkCbPowerRuntimeControlRequest

雖然驅動程式可以使用 PowerControlCode 參數中的任何 GUID,但建議使用 D3dkmddi.h 中定義的下列 GUID。 藉由使用這些 GUID,顯示埠驅動程式可以發出 Windows 事件追蹤 (ETW) 事件,這對於分析驅動程式效能問題很有用。

GUID 意義
GUID_DXGKDDI_POWER_VOLTAGE_UP 增加電壓。
GUID_DXGKDDI_POWER_VOLTAGE_DOWN 降低電壓。
GUID_DXGKDDI_POWER_VOLTAGE 變更電壓,但驅動程式不知道變更是否增加或減少。
GUID_DXGKDDI_POWER_CLOCK_UP 增加時鐘設定。
GUID_DXGKDDI_POWER_CLOCK_DOWN 減少時鐘設定。
GUID_DXGKDDI_POWER_CLOCK 變更時鐘設定,但驅動程式不知道變更是否增加或減少。
GUID_DXGKDDI_POWER_BANDWIDTH_UP 增加頻寬。
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN 減少頻寬。
GUID_DXGKDDI_POWER_BANDWIDTH 變更頻寬,但驅動程式不知道變更是否增加或減少。

這些 GUID 不表示顯示迷你埠驅動程式與 PEP 之間有任何通訊協定,也不表示顯示迷你埠驅動程式與 PEP 之間可以傳遞的值有任何限制。

規格需求

需求
最低支援的用戶端 Windows 8 (WDDM 1.2)
最低支援的伺服器 Windows Server 2012
目標平台 桌面
標頭 d3dkmddi.h (包含 D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

另請參閱

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE