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 中定义。

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

要求

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

另请参阅

pfnGetNumPathsFromSource

pfnGetPathSourceFromTarget