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 |