DXGKDDI_VIDPNTOPOLOGY_ADDPATH callback function (d3dkmddi.h)
The pfnAddPath function adds a video present path to a specified VidPN topology object.
Syntax
DXGKDDI_VIDPNTOPOLOGY_ADDPATH DxgkddiVidpntopologyAddpath;
NTSTATUS DxgkddiVidpntopologyAddpath(
[in] IN_D3DKMDT_HVIDPNTOPOLOGY hVidPnTopology,
[in] IN_PD3DKMDT_VIDPN_PRESENT_PATH pVidPnPresentPath
)
{...}
Parameters
[in] hVidPnTopology
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.
[in] pVidPnPresentPath
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 explicitly release the structure by calling pfnReleasePathInfo.
The D3DKMDT_HVIDPNTOPOLOGY data type is defined in D3dkmdt.h.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Target Platform | Desktop |
Header | d3dkmddi.h (include D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |