2016-03-22 15 views
2

MSDN DirectShow filtreleri tescili için bir kategori oluşturmak için IFilterMapper2 kullanma hakkında canlandırıcı basittir:Nasıl Oluşturulduktan Sonra DirectShow Kategorisini Nasıl Yok Ediyorum?

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(); 

Ancak arayüz için tanımlanmış "DestroyCategory" yöntemi yoktur. Kayıtta herhangi bir arkeolojik kazı yapmamayı tercih ederim. IFilterMapper2 :: CreateCategory ile oluşturduktan sonra bir DirectShow kategorisini yok etmenin güvenilir bir yolu olduğunu biliyor mu?

cevap

3

Arkeolojiyi yapmak zorunda kalacaksınız - bir kategoriyi silme yöntemi yoktur. İyi bir şey oldukça basit olmasıdır:

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

Teşekkür Roman. Son üç saati bu arkeolojiyi yaparken geçirdim ve hala bir şey kaçırmadığımı teyit etmeye çalışıyordum, ama cevabınız kazma ile eşleşiyor. Sizden geliyor, bunu yetkili olarak kabul ediyorum, bu yüzden cevabınızı doğru olanı olarak işaretliyorum. –

+0

Hey Roman! Son zamanlarda, blog için Googling dokümantasyonu sırasında PolyTextOut (http://alax.info/blog/1527) ile ilgili blog yayında oldum. Blog yayınınız, işlevi kullanmayla ilgili beni endişelendirdi, bu yüzden test ettim. Sonuçlarınızı üretemiyorum. Windows 7'nin ABD İngilizce sürümünde (ayrıca ABD İngilizcesi Win 2k'de de test edilmiştir), PolyTextOut kullanarak doğru çıktıyı elde ediyorum. Bu yüzden farklı olarak ne yaptığınızı merak ediyorum. Açıkçası, uygulamanın bir Unicode derlemesini kullanmayı bileceksiniz ve ExtTextOut için doğru şekilde çalıştığından bu karakterleri destekleyen bir font kullanmanız gerekiyor. –

+0

Düşünebildiğim tek şey, Visual Studio'nun ASCII biçiminde kaydedilmeyen kaynak dosyaları yönetme konusunda bilinen bir eğilime sahip olmasıdır. Test ettiğimde, karakterleri kodlamak için Unicode kaçışlarını kullandım (ör., "L" \ x10D3 \ x10D4 \ x10D3 \ x10D0 \ x10E1 "'). Her neyse, umarim sizlere yorum yapmak için SO yorum sistemini istismar etmeme izin verirsiniz. Blogunuzda gerçekten bir hesap oluşturmak istemedim ... :-) –

İlgili konular