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 呼叫回應。 驅動程式可能會視需要選擇將某些重設工作延後至此呼叫,前提是在設定計時呼叫之後預期有可運作的狀態。
圖形驅動程式應該報告任何偵測到的低階MIPI錯誤,而且驅動程式不會透過 MipiErrors
輸出欄位處理。
如果在重設期間發生無法復原的錯誤,圖形驅動程式應該設定 ResetFailed
輸出旗標。 這應該是重大失敗。 圖形驅動程式也應該發出訊號,指出已使用 DxgkCbIndicateConnectorChange 回呼,然後回報 TargetStatusDisconnected 針對失敗的目標回報 TargetStatusDisconnected 來回應 DxgkDdiQueryConnectionChange 。
輸出欄位會傳播回 IOCTL 的輸出緩衝區。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 (版本 2004) |
標頭 | dispmprt.h |