次の方法で共有


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

pfnCreateNewSourceModeSet 関数は、指定された VidPN オブジェクト内に新しいソース モード セット オブジェクトを作成します。

構文

DXGKDDI_VIDPN_CREATENEWSOURCEMODESET DxgkddiVidpnCreatenewsourcemodeset;

NTSTATUS DxgkddiVidpnCreatenewsourcemodeset(
  [in]  IN_CONST_D3DKMDT_HVIDPN hVidPn,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [out] OUT_PD3DKMDT_HVIDPNSOURCEMODESET phNewVidPnSourceModeSet,
  [out] DEREF_OUT_CONST_PPDXGK_VIDPNSOURCEMODESET_INTERFACE ppVidPnSourceModeSetInterface
)
{...}

パラメーター

[in] hVidPn

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

[in] VidPnSourceId

VidPN オブジェクトに関連付けられているビデオの現在のソースの 1 つを識別する整数。

[out] phNewVidPnSourceModeSet

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

[out] ppVidPnSourceModeSetInterface

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

戻り値

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

リターン コード 説明
STATUS_SUCCESS 関数が正常に実行されました。
STATUS_GRAPHICS_INVALID_VIDPN hVidPn で指定されたハンドルが無効です。
STATUS_NO_MEMORY VidPN マネージャーは、新しいソース モード セット オブジェクトの作成に必要なメモリを割り当てることができませんでした。

注釈

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

  1. pfnCreateNewSourceModeSet を呼び出して、新しいソース モード セット オブジェクトへのハンドルを取得します。 そのソース モード セット オブジェクトは、指定した特定の VidPN オブジェクトに属します。
  2. ソース モード セット オブジェクトにモードを追加するには、 DXGK_VIDPNSOURCEMODESET_INTERFACE インターフェイスの関数を使用します。
  3. pfnAssignSourceModeSet を呼び出して、特定のソースに設定された新しいソース モードを割り当てます。
pfnCreateNewSourceModeSet を呼び出してハンドルを取得し、そのハンドルを pfnAssignSourceModeSet に渡す場合は、pfnReleaseSourceModeSet を呼び出してハンドルを解放する必要はありません。

pfnCreateNewSourceModeSet を呼び出してハンドルを取得し、新しいソース モード セットをソースに割り当てないことを決定した場合は、pfnReleaseSourceModeSet を呼び出して、新しく取得したハンドルを解放する必要があります。

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

D3DKMDT_HVIDPNデータ型とD3DKMDT_HVIDPNSOURCEMODESETデータ型は D3dkmdt.h で定義されています。

要件

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

こちらもご覧ください

VidPN ソース モード設定インターフェイス

pfnAssignSourceModeSet

pfnReleaseSourceModeSet