创建后如何销毁DirectShow类别?

时间:2016-03-22 15:52:53

标签: directshow

使用IFilterMapper2为DirectShow过滤器的注册创建类别,MSDN令人耳目一新:

IFilterMapper2 *pFM2 = NULL;

CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER,
        IID_IFilterMapper2, (void **)&pFM2);

pFM2->CreateCategory(
    CLSID_MyFiltersCategory,         // Category.
    MERIT_DO_NOT_USE,                // Merit.
    L"My Filters"                    // Description.
);

pFM2->Release();

然而,没有" DestroyCategory"为接口定义的方法。我宁愿不对登记处进行任何考古挖掘。在使用IFilterMapper2 :: CreateCategory创建DirectShow类别之后,有没有人知道销毁DirectShow类别的可靠方法?

1 个答案:

答案 0 :(得分:3)

您将不得不进行考古 - 没有方法可以删除类别。好消息是它非常简单:

  • HKEY_CLASSES_ROOT\CLSID\<category-GUID>
  • HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance\<category-GUID>