2011-11-19 105 views
3

我正在研究註冊一個directshow過濾器在運行時,可能需要使用反射來做到這一點,然後調用regsvr32莫名其妙的二進制數據。不知道這是否可能,聽起來很棘手。基本上我有一個dll文件是一個過濾器,我把它作爲一個嵌入式資源添加到解決方案,但在此之後,我卡住了...不知道如何去註冊它。有人有任何見解嗎?這是可能做到或者我必須讓文件存在才能註冊它?謝謝。C#註冊嵌入式Directshow過濾器

乾杯。

回答

3

您確定需要註冊嗎?您只需要參加Intelligent Connect即可。否則,您可能只需要LoadLibrary該DLL並通過繞過COM實例的DllGetClassObject創建過濾器的實例。好消息是,您不必爲具有提升權限的管理員來執行此操作,而不必註冊過濾器DLL。

然後又見:

+0

我使用ConnectDirect,就這就夠了? – bl4kh4k

+0

如果您正在使用'ConnectDirect',那麼您應該在圖表中包含過濾器。所以你應該添加它,你應該已經實例化了它。所以,我的方法肯定會奏效。 –

+0

這是一個好消息,但是我仍然對如何從嵌入式資源加載時感到困惑,因爲現在我有一個像這樣的流對象:Assembly assembly = Assembly.GetExecutingAssembly(); Stream stream = assembly.GetManifestResourceStream(「Recorder.Libraries.Decklink64.dll」); – bl4kh4k