次の方法で共有


DXGKDDI_RECOMMENDFUNCTIONALVIDPN コールバック関数 (d3dkmddi.h)

DxgkDdiRecommendFunctionalVidPn 関数は、指定されたディスプレイ アダプターに実装できる機能 VidPN を作成します。

構文

DXGKDDI_RECOMMENDFUNCTIONALVIDPN DxgkddiRecommendfunctionalvidpn;

NTSTATUS DxgkddiRecommendfunctionalvidpn(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_RECOMMENDFUNCTIONALVIDPN_CONST pRecommendFunctionalVidPn
)
{...}

パラメーター

[in] hAdapter

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、DxgkDdiAddDevice 関数の MiniportDeviceContext 出力パラメーターで DirectX グラフィックス カーネル サブシステムにこのハンドルを以前に提供しました。

[in] pRecommendFunctionalVidPn

関数引数を含む DXGKARG_RECOMMENDFUNCTIONALVIDPN 構造体へのポインター。 呼び出し元は、空の VidPN オブジェクトへのハンドルである hRecommendedFunctionalVidPn メンバーを提供します。 DxgkDdiRecommendFunctionalVidPn は、VidPN オブジェクトに、機能する VidPN の要素 (トポロジ、モード セット、固定モード) を設定します。

戻り値

DxgkDdiRecommendFunctionalVidPn は 、次のいずれかの値を返します。

リターン コード 説明
STATUS_SUCCESS 関数は、機能的な VidPN を作成することに成功しました。
STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN 関数が機能する VidPN を作成できませんでした。
STATUS_NO_MEMORY メモリを割り当てることができなかったため、関数は失敗しました。

注釈

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

  • 少なくとも 1 つのパスを持つトポロジがあります。 (パスは、ソースとターゲットの間の関連付けです)。
  • トポロジ内のすべてのソースとターゲットには固定モードがあります。
DxgkDdiRecommendFunctionalVidPn のジョブは、ディスプレイ アダプターに実装できる機能 VidPN を作成することです。 次の一覧では、機能する VidPN を作成するために使用する手順を示します。
  1. 最初に、空の VidPN オブジェクトへのハンドルを指定します。 このハンドルは、pRecommendFunctionalVidPnArghDesiredVidPn メンバーで指定されました。
  2. VidPN のトポロジにパス (ソースとターゲットのペア) を追加します。
  3. 新しいソース モード セットを作成し、セットに 1 つのソース モードを追加します。 ソース モード セットをパスのソースに割り当てます。 ソース モードをピン留めします。
  4. 新しいターゲット モード セットを作成し、1 つのターゲット モードをセットに追加します。 ターゲット モード セットをパス内のターゲットに割り当てます。 ターゲット モードをピン留めします。
パスの追加、モード セットの追加、モードの割り当て、およびモードのピン留め方法については、「 VidPN オブジェクトとインターフェイス」を参照してください。

DxgkDdiRecommendFunctionalVidPn を ページング可能にする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム デスクトップ
Header d3dkmddi.h
IRQL PASSIVE_LEVEL