DXGKDDI_VIDPN_ACQUIRETARGETMODESET コールバック関数 (d3dkmddi.h)
pfnAcquireTargetModeSet 関数は、指定された VidPN オブジェクトに含まれる特定のターゲット モード セット オブジェクトへのハンドルを返します。
構文
DXGKDDI_VIDPN_ACQUIRETARGETMODESET DxgkddiVidpnAcquiretargetmodeset;
NTSTATUS DxgkddiVidpnAcquiretargetmodeset(
[in] IN_CONST_D3DKMDT_HVIDPN hVidPn,
[in] IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[out] OUT_PD3DKMDT_HVIDPNTARGETMODESET phVidPnTargetModeSet,
[out] DEREF_OUT_CONST_PPDXGK_VIDPNTARGETMODESET_INTERFACE ppVidPnTargetModeSetInterface
)
{...}
パラメーター
[in] hVidPn
VidPN オブジェクトへのハンドル。 VidPN マネージャーは、以前に DxgkDdiEnumVidPnCofuncModality、 DxgkDdiIsSupportedVidPn、または DxgkDdiRecommendFunctionalVidPn を呼び出すことによって、ディスプレイ ミニポート ドライバーにこのハンドルを提供しました。
[in] VidPnTargetId
VidPN オブジェクトに関連付けられているビデオの存在ターゲットの 1 つを識別する整数。
[out] phVidPnTargetModeSet
要求されたターゲット モード セット オブジェクトへのハンドルを受け取る変数へのポインター。
[out] ppVidPnTargetModeSetInterface
DXGK_VIDPNTARGETMODESET_INTERFACE構造体へのポインターを受け取る変数へのポインター。 構造体には、ディスプレイ ミニポート ドライバーがターゲット モード セット オブジェクトを検査および変更するために呼び出すことができる関数へのポインターが含まれています。
戻り値
pfnAcquireTargetModeSet 関数は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | 関数が正常に実行されました。 |
STATUS_GRAPHICS_INVALID_VIDPN | hVidPn で指定されたハンドルが無効です。 |
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET | VidPnTargetId で指定された識別子が無効です。 |
注釈
VidPN ターゲット識別子は、ディスプレイ ミニポート ドライバーによって割り当てられます。 ディスプレイ ミニポート ドライバーによって実装される DxgkDdiQueryChildRelations は、識別子を含むDXGK_CHILD_DESCRIPTOR構造体の配列を返します。
ターゲット モード セット オブジェクト ハンドルの使用が完了したら、 pfnReleaseTargetModeSet を呼び出してハンドルを解放する必要があります。 ターゲット モード セット オブジェクトは参照カウントされるため、ハンドルを複数回取得する場合は、同じ回数だけ解放する必要があります。
ppVidPnTargetModeSetInterface で返されるDXGK_VIDPNTARGETMODESET_INTERFACE構造体の有効期間は、オペレーティング システムによって所有されます。 この所有権スキームを使用すると、オペレーティング システムは、インターフェイスのクライアントを中断することなく、実行時に新しい実装に切り替えることができます。
D3DDDI_VIDEO_PRESENT_TARGET_IDデータ型は D3dukmdt.h で定義されています。
D3DKMDT_HVIDPNデータ型とD3DKMDT_HVIDPNTARGETMODESETデータ型は D3dkmdt.h で定義されています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h (D3dkmddi.h を含む) |
IRQL | PASSIVE_LEVEL |