ディスプレイ アダプターでの VidPN サポートの判断

このトピックでは、ディスプレイ ミニポート ドライバーで、特定の Video Present Network (VidPN) がディスプレイ アダプターでサポートされているかどうかを判断する方法について説明します。 この資料を読む前に、以下のトピックの資料を確認しておく必要があります。

VidPN は、以下の条件を満たす場合に機能します。

  • 少なくとも 1 つのパスを持つトポロジがある。 (パスは、ソースとターゲットの間の関連付けです。)

  • トポロジ内の個々のソースとターゲットに固定モードがある。

以下のいずれかの条件に該当する場合、VidPN はディスプレイ アダプターでサポートされます。

  • これは機能し、ディスプレイ アダプターに実装できます。 つまり、ディスプレイ アダプター上のビデオ出力コーデックは、VidPN で指定されたトポロジと固定モードをサポートするように構成できます。

  • 少なくとも 1 つのパスを持つトポロジがあり、ディスプレイ アダプターに実装可能な、機能する VidPN に拡張できます。 つまり、既に固定されているモードを変更することなく、モードがまだ固定されていないすべてのビデオ表示のソースとターゲットにモードを固定することができます。 さらに、その結果としての機能する VidPN をディスプレイ アダプターに実装することができます。

  • これには空のトポロジがあります。 つまり、何も表示しない状態が、ディスプレイ アダプターで常にサポートされます。

VidPN がサポートされているかどうかの判断の一部は、VidPN のトポロジが有効かどうかの判断になります。 言い換えると、ビデオ表示ソースを、トポロジで指定されたビデオ表示ターゲットに接続できるかどうかです。 トポロジ内のすべてのビデオ表示ターゲットにモニターが接続されていることは必須ではない点に注意してください。 トポロジは有効であり、モニターが接続されていない場合でも VidPN をサポートできます。

ときどき、VidPN マネージャーで DxgkDdiIsSupportedVidPn を呼び出して、ディスプレイ アダプターで特定の VidPN がサポートされているかどうかをディスプレイ ミニポート ドライバーに問い合わせます。 DxgkDdiIsSupportedVidPn に渡される引数の 1 つは、目的の VidPN と呼ばれる VidPN オブジェクトのハンドルです。 DxgkDdiIsSupportedVidPn は、目的の VidPN のトポロジを検査する必要があり、目的の VidPN 内のビデオ表示のソースとターゲットのうち、既にモードが固定されているものを記録する必要があります。 次に、目的の VidPN がサポートされているかどうかを示すブール値を返す必要があります (このトピックで前述した定義に従います)。 VidPN のトポロジ、ソース モード セット、ターゲット モード セットの検査については、「VidPN オブジェクトとインターフェイス」を参照してください。