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 |