次の方法で共有


コールバック関数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 パネル ドライバーは、パネルが正しくない状態であることを検出した場合は、グラフィックス ドライバーと OS コントロールの下でデバイスのリセットを要求する IOCTL_MIPI_DSI_RESET を送信します。 リセットは、必ずしも重い操作であり、複数のフレームに対して表示ブランキングが発生するため、最後の手段としてのみ使用する必要があります。

リセットの処理中は通常のパネル操作を続行できないため、OS は表示モードの変更と非常によく似た処理を行い、反転を含む保留中の GPU アクティビティをフラッシュし、完了するまで新しい作業をブロックします。 OS は、IOCTL を DxgkDsiReset DDI 呼び出しに変換します。 ドライバーは、パネルから電源を完全に削除し、最初から再初期化する必要があります。適切な遅延の後に、戻る前にパネルを実行可能な状態に復元するために必要なアクションを実行します。 フラグを SecondaryPort 設定すると、リセットはプライマリではなくセカンダリ パネルを対象とすることを示します。

グラフィックス ドライバーでパネルのリセットを実行または復元するためにフル モードを設定する必要がある場合は、出力フラグ NeedModeSetを設定する必要があります。 呼び出しからの復帰時に設定した場合、OS は通常のアクティビティのブロックを解除する前に DxgkDdiSetTimingsFromVidPn 呼び出しで応答します。 ドライバーは、設定されたタイミング呼び出しの後に実行可能な状態が予想される場合は、必要に応じて、この呼び出しにリセット作業の一部を延期することを選択できます。

グラフィックス ドライバーは、出力フィールドを介してドライバーによって検出され、処理されない低レベルの MIPI エラーを報告する MipiErrors 必要があります。

リセット中に回復不能なエラーが発生した場合、グラフィックス ドライバーは出力フラグを設定する ResetFailed 必要があります。 これは致命的な障害になると予想されます。 また、グラフィックス ドライバーは、 DxgkCbIndicateConnectorChange コールバックを使用して取り外しが発生したことを示し、失敗したターゲットに対して TargetStatusDisconnected を報告して DxgkDdiQueryConnectionChange に応答することで、ターゲットに表示がないことを通知する必要もあります。

出力フィールドは、IOCTL の出力バッファーに反映されます。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 2004
Header dispmprt.h

こちらもご覧ください

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET