使用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类别的可靠方法?
答案 0 :(得分:3)
您将不得不进行考古 - 没有方法可以删除类别。好消息是它非常简单:
HKEY_CLASSES_ROOT\CLSID\<category-GUID>
HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance\<category-GUID>