DXGKDDI_DSIRESET回呼函式 (dispmprt.h)
語法
DXGKDDI_DSIRESET DxgkddiDsireset;
NTSTATUS DxgkddiDsireset(
[in] HANDLE Context,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
[out] PDXGK_DSI_RESET pArgs
)
{...}
參數
[in] Context
[in] TargetId
監視器的目標標識碼。
[out] pArgs
DXGI_DSI_CAPS 結構的指標。
傳回值
DxgkddiDsiReset 如果成功,則會傳回STATUS_SUCCESS;否則會傳回 Ntstatus.h中定義的其中一個錯誤碼。
言論
如果 OEM 面板驅動程式偵測到面板處於不良狀態,它會傳送 IOCTL_MIPI_DSI_RESET,要求在圖形驅動程式和 OS 控制件下重設裝置。 重設一定是繁重的作業,這會導致多個畫面的顯示空白,因此應該只當做最後手段使用。
處理重設時無法繼續正常面板作業,因此OS將處理它與顯示模式變更非常類似、清除擱置的 GPU 活動,包括任何翻轉,以及封鎖新工作直到完成為止。 OS 會將IOCTL轉譯成 DxgkDsiReset DDI 呼叫。 驅動程式應該從面板完全移除電源,並從頭開始重新初始化它,並在適當的延遲之後,執行它所需的任何動作,以便在返回之前將面板還原為可運作的狀態。 設定時,SecondaryPort
旗標表示重設應該以次要面板為目標,而不是主要面板。
如果圖形驅動程式需要完整模式集,才能從面板重設執行或還原,它應該設定輸出旗標 NeedModeSet
。 如果從呼叫傳回時設定,OS 會先回應 DxgkDdiSetTimingsFromVidPn 呼叫,再解除封鎖一般活動。 驅動程式可以選擇視需要將部分重設工作延遲至此呼叫,前提是在設定計時呼叫之後預期有可運作的狀態。
圖形驅動程式應該透過 [MipiErrors
輸出] 欄位報告驅動程式偵測到的任何低階MIPI錯誤,且未由驅動程序處理。
如果在重設期間發生無法復原的錯誤,圖形驅動程序應該設定 ResetFailed
輸出旗標。 這應該是災難性的失敗。 圖形驅動程式也應該指示目標上沒有顯示器可用,方法是指出已使用 DxgkCbIndicateConnectorChange 回呼,然後回報已失敗目標的 TargetStatusDisconnected DxgkDdiQueryConnectionChange。
輸出欄位會傳播回 IOCTL 的輸出緩衝區。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 2004 |
標頭 | dispmprt.h |