共用方式為


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

另請參閱

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET