【问题标题】:Finding a filter's DirectShow category查找过滤器的 DirectShow 类别
【发布时间】:2020-12-11 16:39:50
【问题描述】:

给定一个过滤器或硬件设备或其名称,我如何找出该过滤器或硬件设备属于哪个 DirectShow 类别? PropertyBag 中的某处是否有某种“类别”属性?

【问题讨论】:

    标签: c++ windows winapi directshow


    【解决方案1】:

    DirectShow 类别包含过滤器注册信息,可以根据注册条目创建监视器。创建名字对象后,您还没有过滤器,但此时类别信息已经消失。从名字对象创建过滤器实例显然不会让您恢复类别。

    还可以在多个类别中注册一个过滤器,也可以在过滤器根本不知道的情况下将[第三方]过滤器注册到一个类别中。

    所以,不,当您有过滤器时,您无法找到过滤器的类别。有时您可以从实例中获取 CLSID 并通过枚举类别将其匹配回来,但即使这样也不适用于每个过滤器。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多