2012-01-24 21 views
1

我如何安裝一個過濾器驅動程序下過濾驅動程序? DDK的所有樣本都是上層過濾器驅動程序。 除了使用INF文件做這項工作以外,還有什麼方法嗎? 我知道較低的過濾器驅動程序位於FDO和BDO的頂部,但是如果有更多的那個較低的過濾器驅動程序,它們是如何訂購的?我可以將我的驅動程序放在此堆棧的特定位置嗎?下過濾驅動

回答

4

我如何安裝一個過濾器驅動程序下過濾驅動程序?

上下過濾器驅動程序的安裝方式大致相同 - 您實際上不需要INF,只需在註冊表中設置值。 當然,這取決於哪種類型你想安裝過濾器驅動程序,但作爲一個例子,如果我想設置一個較低的磁盤類過濾驅動,我打開註冊表編輯器,定位到以下項:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} 

在這裏,您應該看到一個名爲UpperFilters的字符串值,其中包含PartMgr。如果您想添加一個Lower Filter,只需創建一個LowerFilters值併爲其設置驅動程序的名稱即可。 keyname中的GUID是非常可怕的,但是如果通過Class鍵掃描,則會看到很多GUID命名的鍵 - 每個鍵的默認值都包含關鍵代表什麼設備的簡短描述。

像PartMgr和所有其他驅動程序,您需要與所有適當的配置值創建HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services在你的驅動程序項。如果您不確定驅動程序的值,請將整個HKLM \ SYSTEM鍵轉儲到一個文件中,正常安裝驅動程序,再次轉儲整個HKLM \ SYSTEM鍵並轉儲轉儲以查看所放置的值哪裏。

我可以把我的司機在此堆棧的具體位置?

相反告訴你,否則答案是否定的。人們有時會相信,當UpperFilters和LowerFilters註冊表值中列出多個驅動程序時,此列表中的第一個將首先加載。我甚至目睹了這場轉變爲「註冊戰爭」,司機們不斷在名單上爭奪他們的位置。這是無稽之談,你應該設計你的司機,以應付出現在你上面或下面的任何其他司機。

+0

享受在過去,我使用註冊表API(修改LOWERFILTERS /的UpperFilters值)來安裝下/上的過濾器。有時,這些更改無法在重新啓動後存活(或者只存在一段時間,但由於問題很少發生,我不太清楚)。我認爲如果你不喜歡INF文件,最好使用Setup API來完成這項任務。 –

0

可以一個osr.com提供的實用driverloader將加載你驅動任一上/下濾波器driver.basically它是一個基於GUI實用程序將在其中所有的選項,需要加載驅動程序。 1.您可以設置您的驅動程序加載順序。 2.你可以選擇你的驅動程序你寫的是什麼類型。 3.不需要inf來設置註冊表鍵,它會自動爲你做,但如果你想修改這些鍵值,你可以手動完成。 4.欲瞭解更多信息,請訪問www.osr.com。 :-)

相關問題