0
我從CLSID中手動從DLL加載一些未註冊的DirectShow過濾器,我想找出過濾器的名稱(因爲它出現在GraphEdit中)。如何獲得未註冊的DirectShow過濾器的默認過濾器名稱
我試過使用IBaseFilter:QueryFilterInfo
方法,但只有當過濾器是圖形的一部分時纔會工作,即使如此,它還是會在過濾器添加到圖形時返回給過濾器的名稱。
我在尋找默認過濾器將其實例添加到GraphEdit圖形中時的名稱。是否有可能得到這個,以及如何?
所以,除非過濾器註冊友好的名稱將不可用(通過過濾器映射器),正確的? (正如我所提到的,我檢查了QueryFilterInfo並且它沒有返回任何東西) – 2014-11-21 18:03:40
我不記得這種行爲記錄,所以它不在我頭頂。過濾器的名稱只是一個故障排除/開發幫助程序,所以如果它是空的就好了。我想圖表將使用此方法中過濾器返回的名稱(如果有的話)作爲默認名稱。但是,標準實現不會這樣做。所以你會發現大多數未註冊的過濾器都添加了「0002」這樣的名稱。 – 2014-11-21 22:54:13
是的,它不是強制性的,*大多數*(我有的所有過濾器)都沒有實現它。所以這非常沒用。我已經放棄了這一點,並且已經轉移到不同的API表面,允許用戶在添加過濾器時爲過濾器提供名稱。謝謝! – 2014-11-22 01:10:47