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 オブジェクトに関連付けられているビデオの存在ターゲットの 1 つを識別する整数。
[out] phNewVidPnTargetModeSet
新しく作成されたターゲット モード セット オブジェクトへのハンドルを受け取る変数へのポインター。
[out] ppVidPnTargetModeSetInterace
DXGK_VIDPNTARGETMODESET_INTERFACE構造体へのポインターを受け取る変数へのポインター。 構造体には、ディスプレイ ミニポート ドライバーが検査し、ターゲット モード セット オブジェクトを変更するために呼び出すことができる関数へのポインターが含まれています。
戻り値
pfnCreateNewTargetModeSet 関数は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | 関数が正常に実行されました。 |
STATUS_GRAPHICS_INVALID_VIDPN | hVidPn で指定されたハンドルが無効です。 |
STATUS_NO_MEMORY | VidPN マネージャーは、新しいターゲット モード セット オブジェクトを作成するために必要なメモリを割り当てませんでした。 |
解説
VidPN 実装で新しいターゲット モード セットを特定のターゲットに割り当てるには、次の手順を実行します。
- pfnCreateNewTargetModeSet を呼び出して、新しいターゲット モード セット オブジェクトへのハンドルを取得します。 そのターゲット モード セット オブジェクトは、指定した特定の VidPN オブジェクトに属します。
- DXGK_VIDPNTARGETMODESET_INTERFACE構造体の関数を使用して、ターゲット モード セット オブジェクトにモードを追加します。
- pfnAssignTargetModeSet を呼び出して、新しいターゲット モード セットを特定のターゲットに割り当てます。
pfnCreateNewTargetModeSet を呼び出してハンドルを取得し、ターゲットに設定された新しいターゲット モードを割り当てないことを決定した場合は、pfnReleaseTargetModeSet を呼び出して新しく取得したハンドルを解放する必要があります。
ppVidPnTargetModeSetInterface で返されるDXGK_VIDPNTARGETEMODESET_INTERFACE構造体の有効期間は、オペレーティング システムによって所有されます。 この所有権スキームを使用すると、オペレーティング システムは、インターフェイスのクライアントを中断することなく、実行時に新しい実装に切り替えることができます。
D3DKMDT_HVIDPNとD3DKMDT_HVIDPNTARGETMODESETのデータ型は 、D3dkmdt.h で定義されます。
要件
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h (D3dkmddi.h を含む) |
IRQL | PASSIVE_LEVEL |