DXGKDDI_VIDPNTOPOLOGY_ENUMPATHTARGETSFROMSOURCE回调函数 (d3dkmddi.h)

pfnEnumPathTargetsFromSource 函数返回与指定视频演示源关联的视频演示目标之一的标识符。

语法

DXGKDDI_VIDPNTOPOLOGY_ENUMPATHTARGETSFROMSOURCE DxgkddiVidpntopologyEnumpathtargetsfromsource;

NTSTATUS DxgkddiVidpntopologyEnumpathtargetsfromsource(
  [in]  IN_CONST_D3DKMDT_HVIDPNTOPOLOGY hVidPnTopology,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [in]  IN_CONST_D3DKMDT_VIDPN_PRESENT_PATH_INDEX VidPnPresentPathIndex,
  [out] OUT_PD3DDDI_VIDEO_PRESENT_TARGET_ID pVidPnTargetId
)
{...}

参数

[in] hVidPnTopology

VidPN 拓扑对象的句柄。 显示微型端口驱动程序以前通过调用 DXGK_VIDPN_INTERFACE 接口的 pfnGetTopology 函数来获取此句柄。

[in] VidPnSourceId

标识特定视频演示源的整数。

[in] VidPnPresentPathIndex

从零开始的索引到包含由 VidPnSourceId标识的源的路径集中。

[out] pVidPnTargetId

指向接收目标标识符的变量的指针。

返回值

pfnEnumPathTargetsFromSource 函数返回以下值之一:

返回代码 描述
STATUS_SUCCESS 函数成功。
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY hVidPnTopology 中提供的句柄无效。
STATUS_INVALID_PARAMETER pVidPnTargetId 中提供的指针有效。

言论

VidPnPresentPathIndex 不是拓扑中由 hVidPnTopology标识的所有路径集中的索引。 它是拓扑中所有路径的子集的索引:具体而言,包含由 VidPnSourceId标识的源的所有路径的子集。

若要枚举(在给定拓扑中)与特定源关联的所有目标,请执行以下步骤。

调用 pfnGetNumPathsFromSource 以确定包含兴趣源的路径的 N 个数。 将这些路径视为索引为 0、1、...N - 1.

对于每个索引 0 虽然 N - 1,请将源标识符和索引传递给 pfnEnumPathTargetsFromSource

拓扑是一个集合路径,每个路径都包含一个(源、目标)对。 特定源可能出现在多个路径中。 例如,在克隆视图的情况下,可以将一个源与两个不同的目标配对。

作系统分配 VidPN 源标识符。 DxgkDdiStartDevice(由显示微型端口驱动程序实现)返回显示适配器支持的视频演示源的数目 N。 然后,作系统分配标识符 0、1、2...N - 1.

显示微型端口驱动程序分配 VidPN 目标标识符。 DxgkDdiQueryChildRelations(由显示微型端口驱动程序实现)返回 DXGK_CHILD_DESCRIPTOR 结构的数组,每个结构都包含标识符。

D3DKMDT_HVIDPNTOPOLOGY和D3DKMDT_VIDPN_PRESENT_PATH_INDEX数据类型在 D3dkmdt.h中定义。

D3dukmdt.h中定义了D3DDDI_VIDEO_PRESENT_SOURCE_ID和D3DDDI_VIDEO_PRESENT_TARGET_ID数据类型。

要求

要求 价值
最低支持的客户端 Windows Vista
目标平台 桌面
标头 d3dkmddi.h (包括 D3dkmddi.h)
IRQL PASSIVE_LEVEL

另请参阅

pfnGetNumPathsFromSource

pfnGetPathSourceFromTarget