共用方式為


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

另請參閱

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET