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 |