DXGKDDI_VIDPN_ACQUIRETARGETMODESET callback function (d3dkmddi.h)

The pfnAcquireTargetModeSet function returns a handle to a particular target mode set object that is contained by a specified VidPN object.

Syntax

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
)
{...}

Parameters

[in] hVidPn

A handle to a VidPN object. The VidPN manager previously provided this handle to the display miniport driver by calling DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn, or DxgkDdiRecommendFunctionalVidPn.

[in] VidPnTargetId

An integer that identifies one of the video present targets associated with the VidPN object.

[out] phVidPnTargetModeSet

A pointer to a variable that receives a handle to the requested target mode set object.

[out] ppVidPnTargetModeSetInterface

A pointer to a variable that receives a pointer to a DXGK_VIDPNTARGETMODESET_INTERFACE structure. The structure contains pointers to functions that the display miniport driver can call to inspect and alter the target mode set object.

Return value

The pfnAcquireTargetModeSet function returns one of the following values:

Return code Description
STATUS_SUCCESS The function succeeded.
STATUS_GRAPHICS_INVALID_VIDPN The handle supplied in hVidPn was invalid.
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET The identifier supplied in VidPnTargetId was invalid.

Remarks

VidPN target identifiers are assigned by the display miniport driver. DxgkDdiQueryChildRelations, implemented by the display miniport driver, returns an array of DXGK_CHILD_DESCRIPTOR structures, each of which contains an identifier.

When you have finished using the target mode set object handle, you must release the handle by calling pfnReleaseTargetModeSet. Target mode set objects are reference counted, so if you acquire a handle several times, you must release it that same number of times.

The lifetime of the DXGK_VIDPNTARGETMODESET_INTERFACE structure returned in ppVidPnTargetModeSetInterface is owned by the operating system. Using this ownership scheme, the operating system can switch to newer implementations at run time without breaking clients of the interface.

The D3DDDI_VIDEO_PRESENT_TARGET_ID data type is defined in D3dukmdt.h.

The D3DKMDT_HVIDPN and D3DKMDT_HVIDPNTARGETMODESET data types are defined in D3dkmdt.h.

Requirements

Requirement Value
Minimum supported client Windows Vista
Target Platform Desktop
Header d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

See also

VidPN Target Mode Set Interface

pfnAssignTargetModeSet

pfnCreateNewTargetModeSet

pfnReleaseTargetModeSet