DXGKDDIPOWERRUNTIMECONTROLREQUEST 回呼函式 (d3dkmddi.h)
Power Engine 外掛程式 (PEP) 呼叫,以與顯示迷你埠驅動程式交換資訊。 Microsoft DirectX 圖形核心子系統也會呼叫,以通知顯示迷你埠驅動程序有關特定事件。
語法
DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;
NTSTATUS Dxgkddipowerruntimecontrolrequest(
IN_CONST_HANDLE DriverContext,
IN LPCGUID PowerControlCode,
IN PVOID InBuffer,
IN SIZE_T InBufferSize,
OUT PVOID OutBuffer,
IN SIZE_T OutBufferSize,
OUT PSIZE_T BytesReturned
)
{...}
參數
DriverContext
與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式的 DxgkDdiAddDevice 函式先前已將此句柄提供給 DirectX 圖形核心子系統。
PowerControlCode
GUID 的指標,定義 PEP 控制項要求的意義。 如需詳細資訊,請參閱<備註>。
InBuffer
輸入緩衝區的選擇性指標。
InBufferSize
InBuffer 指向之緩衝區的大小,以位元組為單位。
OutBuffer
輸出緩衝區的選擇性指標。
OutBufferSize
OutBuffer 指向之緩衝區的大小,以位元組為單位。
BytesReturned
緩衝區的選擇性指標,其中包含顯示迷你埠驅動程式寫入輸出緩衝區的位元組數目。
傳回值
如果成功,則傳回STATUS_SUCCESS。 否則,它會傳回 Ntstatus.h 中定義的其中一個錯誤碼。
備註
只有在顯示迷你埠驅動程序藉由設定DXGK_DRIVERCAPS,操作系統才會呼叫 DxgkDdiPowerRuntimeControlRequest。SupportRuntimePowerManagement 為 TRUE。
Power Engine 外掛程式所使用的 GUID (PEP)
PEP 會使用 D3dkmddi.h 中定義的下列 GUID,與顯示迷你埠驅動程式交換資訊。 顯示埠驅動程式會使用這些 GUID 發出 Windows 事件追蹤 (ETW) 事件,這對於分析驅動程式效能問題很有用。- 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
- 變更頻寬,但驅動程式不知道變更是否增加或減少。
DirectX 圖形核心子系統所使用的 GUID
DirectX 圖形核心子系統會使用 D3dkmddi.h 中定義的下列 GUID,通知顯示迷你埠驅動程式特定事件。- GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
- 在 DirectX 圖形核心子系統註冊裝置以進行運行時間電源管理,但在啟動裝置之前使用。 使用此 GUID 呼叫此函式之後,顯示迷你連接埠驅動程式可以呼叫這些函式:
- GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
- 在 DirectX 圖形核心子系統啟動運行時間電源管理之後使用。 使用此 GUID 呼叫此函式之後,顯示迷你埠驅動程式可以呼叫任何電源運行時間函式。
- GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
- 在 DirectX 圖形核心子系統取消註冊裝置以進行運行時間電源管理之前立即使用。 使用此 GUID 呼叫此函式之後,顯示迷你埠驅動程式不應該呼叫任何電源運行時間函式。
同步
您可以從多個執行線程同時呼叫此函式。操作系統保證此函式遵循線程 和同步處理零層級中所定義的零層級同步處理模式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | 桌面 |
標頭 | d3dkmddi.h (include D3dkmddi.h) |
IRQL | <=DISPATCH_LEVEL |
另請參閱
DxgkCbSetPowerComponentLatency