次の方法で共有


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

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

構文

DXGKDDI_RECOMMENDFUNCTIONALVIDPN DxgkddiRecommendfunctionalvidpn;

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

パラメーター

[in] hAdapter

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

[in] pRecommendFunctionalVidPn

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

戻り値

DxgkDdiRecommendFunctionalVidPn 、次のいずれかの値が返されます。

リターン コード 形容
STATUS_SUCCESS 関数は、機能 VidPN の作成に成功しました。
STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN 関数は機能 VidPN を作成できませんでした。
STATUS_NO_MEMORY メモリを割り当てられなかったため、関数が失敗しました。

備考

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

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

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー d3dkmddi.h
IRQL PASSIVE_LEVEL