IAMTimelineComp::GetRecursiveLayerOfType 方法

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

注意

[已弃用。 此 API 可能会从 Windows 的未来版本中删除。]

 

方法 GetRecursiveLayerOfType 对此组合中包含的虚拟轨道执行深度优先排序,并从该排序中检索 第 n个虚拟轨道。

语法

HRESULT GetRecursiveLayerOfType(
  [out] IAMTimelineObj      **ppVirtualTrack,
        long                WhichLayer,
        TIMELINE_MAJOR_TYPE Type
);

参数

ppVirtualTrack [out]

接收指向虚拟轨道的 IAMTimelineObj 接口的指针。

WhichLayer

指定要检索的虚拟轨道,从零开始编制索引。

类型

TIMELINE_MAJOR_TYPE枚举类型的成员,该类型指定是否在搜索中包含曲目。

返回值

返回以下 HRESULT 值之一:

返回代码 说明
S_OK
成功。
E_INVALIDARG
没有指定类型的 对象。
E_POINTER
NULL 指针参数。

 

备注

通常,应用程序不需要调用此方法。

如果 type 参数TIMELINE_MAJOR_TYPE_TRACK,则深度优先排序包括轨迹。 否则,它仅包括组合和组。 对象本身包含在排序中。

例如,在以下排列方式中,从组合 A 开始,排序为 B、C、F、D、E、A。

getrecursivelayeroftype

如果方法成功,则它返回的 IAMTimelineObj 接口具有未完成的引用计数。 使用完接口后,请务必释放它。

注意

头文件 Qedit.h 与版本 7 之后的 Direct3D 标头不兼容。

 

注意

若要获取 Qedit.h,请下载适用于 Windows Vista 和 .NET Framework 3.0 的Microsoft Windows SDK更新。 Qedit.h 在 Windows 7 和 .NET Framework 3.5 Service Pack 1 的Microsoft Windows SDK中不可用。

 

要求

要求
标头
Qedit.h

Strmiids.lib

另请参阅

IAMTimelineComp 接口

错误和成功代码