次の方法で共有


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

pfnCreateNewTargetModeSet 関数は、指定した VidPN オブジェクト内に新しいターゲット モード セット オブジェクトを作成します。

構文

DXGKDDI_VIDPN_CREATENEWTARGETMODESET DxgkddiVidpnCreatenewtargetmodeset;

NTSTATUS DxgkddiVidpnCreatenewtargetmodeset(
  [in]  IN_CONST_D3DKMDT_HVIDPN hVidPn,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [out] OUT_PD3DKMDT_HVIDPNTARGETMODESET phNewVidPnTargetModeSet,
  [out] DEREF_OUT_CONST_PPDXGK_VIDPNTARGETMODESET_INTERFACE ppVidPnTargetModeSetInterace
)
{...}

パラメーター

[in] hVidPn

VidPN オブジェクトへのハンドル。 VidPN マネージャーは、以前に、DxgkDdiEnumVidPnCofuncModality DxgkDdiIsSupportedVidPn、または DxgkDdiRecommendFunctionalVidPn を呼び出すことによって、ディスプレイ ミニポート ドライバーにこのハンドルを提供しました。

[in] VidPnTargetId

VidPN オブジェクトに関連付けられているビデオの存在ターゲットのいずれかを識別する整数。

[out] phNewVidPnTargetModeSet

新しく作成されたターゲット モード セット オブジェクトへのハンドルを受け取る変数へのポインター。

[out] ppVidPnTargetModeSetInterace

DXGK_VIDPNTARGETMODESET_INTERFACE 構造体へのポインターを受け取る変数へのポインター。 構造体には、ディスプレイ ミニポート ドライバーを検査し、ターゲット モードセットオブジェクトを変更するために呼び出すことができる関数へのポインターが含まれています。

戻り値

pfnCreateNewTargetModeSet 関数は、次のいずれかの値を返します。

リターン コード 形容
STATUS_SUCCESS 関数は成功しました。
STATUS_GRAPHICS_INVALID_VIDPN hVidPn で指定されたハンドルが無効でした。
STATUS_NO_MEMORY VidPN マネージャーは、新しいターゲット モード セット オブジェクトの作成に必要なメモリを割り当てませんでした。

備考

VidPN 実装の特定のターゲットに設定された新しいターゲット モードを割り当てるには、次の手順を実行します。

  1. pfnCreateNewTargetModeSet 呼び出して、新しいターゲット モード セット オブジェクトへのハンドルを取得します。 そのターゲット モード セット オブジェクトは、指定した特定の VidPN オブジェクトに属します。
  2. DXGK_VIDPNTARGETMODESET_INTERFACE 構造体の関数を使用して、ターゲット モード セット オブジェクトにモードを追加します。
  3. pfnAssignTargetModeSet を呼び出して、新しいターゲット モード セットを特定のターゲットに割り当てます。
pfnCreateNewTargetModeSet 呼び出してハンドルを取得し、そのハンドルを pfnAssignTargetModeSet 渡す場合は、pfnReleaseTargetModeSetを呼び出してハンドルを解放する必要はありません。

pfnCreateNewTargetModeSet 呼び出してハンドルを取得し、ターゲットに設定された新しいターゲット モードを割り当てないことを決定した場合は、pfnReleaseTargetModeSetを呼び出して、新しく取得したハンドルを解放する必要があります。

ppVidPnTargetModeSetInterface で返されるDXGK_VIDPNTARGETEMODESET_INTERFACE構造体の有効期間は、オペレーティング システムによって所有。 この所有権スキームを使用すると、オペレーティング システムは、インターフェイスのクライアントを中断することなく、実行時に新しい実装に切り替えることができます。

D3DKMDT_HVIDPNとD3DKMDT_HVIDPNTARGETMODESETのデータ型は、D3dkmdt.hで定義されます。

必要条件

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

関連項目

VidPN ターゲット モード セット インターフェイス

pfnAssignTargetModeSet する

pfnReleaseTargetModeSet する