在使用DDK開發USB
Driver的安裝程式時,遇上了一個問題
當使用 src%3D%22langref.js%22+ %3C!--%0D%0Add%20%7Bmargin-bottom%3A0em%3B%20margin-left%3A1.9em%3B%20%7D%0D%0A--%3E
UpdateDriverForPlugAndPlayDevices這個API來實作時
遇到了一個問題,這個API必須在Device連接上系統時才能將Driver安裝上去!
但是因為產品規格限制,必須開發出Device未連接系統也可以安裝Driver的功能!
請教過一些前輩的開發經驗後,發現Walter Oney在Programming the
Microsoft Windows Driver Model書中有一個tool為fastinst,參考該sample
code即可了解如何完成這樣的功能。
該Tool的工作原理,其實說穿了非常的簡單~~
在使用UpdateDriverForPlugAndPlayDevices這個API安裝Driver之前
利用 src%3D%22langref.js%22+ %3C!--%0D%0Add%20%7Bmargin-bottom%3A0em%3B%20margin-left%3A1.9em%3B%20%7D%0D%0A--%3E
SetupDiCallClassInstaller在系統內register一個虛擬的Device
node.
安裝完Driver之後,再ungister該Device node(一樣是用 + dd%20%7Bmargin-bottom%3A0em%3B%20margin-left%3A1.9em%3B%20%7D
SetupDiCallClassInstaller這個API)。
利用以上的一點小技巧,即可完成不用插入裝置也可以安裝Driver的功能囉~
沒有留言:
張貼留言