DXGKDDI_VIDPNTOPOLOGY_ADDPATH callback function

The pfnAddPath function adds a video present path to a specified VidPN topology object.

Syntax

DXGKDDI_VIDPNTOPOLOGY_ADDPATH DxgkddiVidpntopologyAddpath;

NTSTATUS DxgkddiVidpntopologyAddpath(
  IN_D3DKMDT_HVIDPNTOPOLOGY hVidPnTopology,
  IN_PD3DKMDT_VIDPN_PRESENT_PATH pVidPnPresentPath
)
{...}

Parameters

hVidPnTopology

[in] A handle to a VidPN topology object. The display miniport driver previously obtained this handle by calling the pfnGetTopology function of the DXGK_VIDPN_INTERFACE interface.

pVidPnPresentPath

[in] A pointer to a D3DKMDT_VIDPN_PRESENT_PATH structure that describes the path. The display miniport driver previously obtained this pointer by calling pfnCreateNewPathInfo.

Return Value

The pfnAddPath function returns one of the following values:

Return code Description
STATUS_SUCCESS The function succeeded.
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY The handle supplied in hVidPnTopology was invalid.
STATUS_ACCESS_DENIED The path cannot be removed in the context of the current DDI call.

Remarks

To add a path to a topology, the display miniport driver performs the following steps.

Call pfnCreateNewPathInfo to obtain a pointer to a D3DKMDT_VIDPN_PRESENT_PATH structure allocated by the VidPN manager.

Populate the D3DKMDT_VIDPN_PRESENT_PATH structure with information about the path, including video present source and target identifiers.

Call pfnAddPath to add the path to a topology.

The VidPN manager allocates a D3DKMDT_VIDPN_PRESENT_PATH structure when you call pfnCreateNewPathInfo. If you add the path described by that structure to a topology, then you do not need to explicitly release the structure; pfnAddPath releases it.

If you obtain a D3DKMDT_VIDPN_PRESENT_PATH structure by calling pfnCreateNewPathInfo and then decide not to add that path to a topology, then you must explicity release the structure by calling pfnReleasePathInfo.

The D3DKMDT_HVIDPNTOPOLOGY data type is defined in D3dkmdt.h.

Requirements

   
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Target Platform Desktop
Header d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

See Also

D3DKMDT_VIDPN_PRESENT_PATH

pfnCreateNewPathInfo

pfnReleasePathInfo