|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-09-20, 01:43 AM | #1 |
榮譽會員
|
win 98的USB 通用驅動程式終結篇
98的USB 通用驅動程式終結篇
前一段時間我發佈了USB 通用驅動程式第二版 http://www.slime2.com.tw/forums/show...threadid=68439 ,它是一個 從winme抽取出來的WDM版本的USB Mass Storage 驅動程式和我重寫的USBMPHLP.PDR連接埠驅動程式的混合體。 這個終結篇的USB 通用驅動程式完全採用來自winme 的 USB Mass Storage 驅動程式,僅僅需要修改USBMPHLP.PDR中的兩個字元, 完全不需要重寫USBMPHLP.PDR,因為這個驅動和第二版的功能上 沒有任何區別,僅僅是它和winme 中的驅動程式幾乎完全一樣, 所以我才稱它為終結篇, 方法: 在用一個16進制編輯器(如winhex或者UltraEdit)在USBMPHLP.PDR 文件中 搜尋兩個連續字元0x5a,0x04,把它替換為0x0a,0x04,一共可以 找到兩處,所以共需要修改兩個字元。 其餘的文件和我在USB 通用驅動程式第二版中發佈的沒有區別。 原理: 我一直在考慮為什麼原來WINEME的USBMPHLP.PDR連接埠驅動程式在WIN98 下面不能載入,而我寫的功能完全一樣的程式碼沒有問題,那麼多半是編譯時 的原因。 我把我寫的USBMPHLP.PDR連接埠驅動程式分別在98DDK 和 WIN2kME 的DDK 下編譯,發現產生的程式碼有兩個字元不同(就是0x5a,0x04和0x0a,0x04的不同), 而在WIN2kME 的DDK下編譯的USBMPHLP.PDR連接埠驅動程式也不能在WIN98下載入。 那麼原因是什麼,仔細看了一下WIN2KME DDK的頭文件,發現如下語句 ifndef DDK_VERSION ifdef WIN31COMPAT DDK_VERSION EQU 30AH else ifdef WIN40COMPAT DDK_VERSION EQU 400H else ifdef WIN41COMPAT DDK_VERSION EQU 40AH else DDK_VERSION EQU 45AH endif endif endif endif VxD_Desc_Block STRUC DDB_Next DD ? DDB_SDK_Version DW DDK_VERSION . . . VxD_Desc_Block ENDS 看出來了,0x5a,0x04 就是45AH 而0x0a,0x04就是40AH, 於是我在WIN2KME 的DDK 下編譯時,定義WIN41COMPAT常量, 就可以讓win98載入這個vxd。 最後,我檢查winme 的原來的USBMPHLP.pdr連接埠驅動程式文件, 修改裡面的45aH 為40AH,在WIN98下面測試一切正常。 原來win98 不能載入winme 的USBMPHLP.pdr 是因為版本檢查的原因, 而USBMPHLP.pdr 的功能非常簡單,所以這個版本檢查的限制是沒有 必要的。 ps: 如果修改45AH為400H 是不是就可以在win95C 下載入了呢? 誰有win95C,可以試一下。 其餘內容參見我的主題 "USB 通用驅動程式第二版"。 其中 Usbmphlp.pdr.me 是winme 的 原版的Usbmphlp.pdr Usbmphlp.pdr 是我直接 修改winme 的Usbmphlp.pdr 之後的結果 附件: USBSTOR21.rar |
送花文章: 3,
|
有 5 位會員向 psac 送花:
|
aids610718 (2009-10-18),barry (2009-01-20),gamerod100 (2008-12-20),neotek (2008-03-13),souda (2008-04-17)
感謝您發表一篇好文章 |
2003-09-20, 05:56 PM | #4 (permalink) |
榮譽會員
|
日前買了一支無品牌的USB搖桿,
卻無法在電腦上順利安裝, ^^^^^^^^ 那你要看有沒usb的認證標誌,沒有!他自己屬於"非通用型"驅動&控制要由廠商解決.... usb連接阜..你不要忘記!有很多的ic廠商,主版usb的晶片 ti nec ....via. acer....等host驅動支援,有沒全包括所有全面usb儲存.媒體裝備......... 你可去試接出一個硬體host,增加port......再接你的usb搖桿.... 但此搖桿卻能再別台電腦正常操作, ^^^^^^^^^^^^^^^^^ 你說在別台可操作,在那os ?跟環境下,總不能跑98 跟現os 2k來比.... 上面就是只是要解決win98(98se usb :1.0),因比usb早出來後...只有winme有較全支援到....(win me usb :1.1)...還不包括2.0....就是移到win98se來使用......... 因安裝win98se os,顯比me多........... 我使用的作業系統是WIN2000,P4_2.0及微星的主機板! ^^^^^^^^^^ 打SP幾? 微星的版使用那家usb晶片(北橋)............ 而我這台電腦USB是可以正常操作的,因有插數位相機並且正常動作 ^^^^^^^^^^^^ 數位相機有沒另使用驅動,或是一插上去就行?當移動硬碟! usb標準"一定是接usb移動硬碟"....數位相機接usb...我就看過有幾種跟 接法............... |
__________________ |
|
送花文章: 3,
|
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
Win 2000硬碟與記憶體的調整 | psac | 系統 & 硬體安裝及故障判斷技術文件 | 0 | 2004-03-08 06:27 PM |
104種木馬的清除方法 | psac | 應用軟體使用技術文件 | 6 | 2003-08-03 03:56 PM |
[求助]我的電腦被人入侵.灌了一個隱藏程式.它不時會跳出來.= | passingg | 一般電腦疑難討論區 | 14 | 2003-05-01 03:27 PM |