成功編譯Driver Studio向?qū)?/h1>
Visual Studio還是比較常用的,于是我研究了一下Driver Studio,這兩天開始了在Vista下開發(fā)驅(qū)動的歷程,在這里拿出來和大家分享一下,希望對大家有用。但一開始碰到一個比較嚴重的問題,一編譯原來用Driver Studio向?qū)傻墓こ蹋?A >Visual Studio 2005便停止了響應。由于DriverStudo 3.2可以正常運行,所以一開始沒有想到是Driver Studio的問題,首先想到的是關(guān)閉Vista的用戶帳戶控制(UAC),但是關(guān)閉后癥狀依然。
#t#沒有辦法,只好祭出調(diào)試&反編譯的大旗,一步步檢查,發(fā)現(xiàn)使Visual Studio停止響應的罪魁禍首是Driver Studio的插件模塊DSDDKEnv8.dll。
由于Driver Studio已經(jīng)停止了開發(fā),所以指望官方發(fā)布補丁肯定是不現(xiàn)實的。那么如何繼續(xù)使用Driver Studio提供的便捷的代碼生成向?qū)?如何成功編譯原有的Driver Studio向?qū)傻墓こ棠?
目前我覺得只有一個比較簡便的權(quán)宜之計。為了成功編譯原有的Driver Studio向?qū)傻墓こ?,只能卸載DSDDKEnv8.dll,即regsvr32 DSDDKEnv8.dll /u,然后啟動DDK提供的Build Environment,從這里啟動Visual Studio之后編譯工程即可。
但是由于Driver Studio向?qū)?chuàng)建的工程使用了一些DDK的Build Environment沒有設(shè)置的環(huán)境變量,比如TARGET_INC_PATH,可以在DDK的Build Environment中設(shè)置:set TARGET_INC_PATH=%SDK_INC_PATH%,下面是針對Windows XP Build Environment的設(shè)置例子:
- set TARGET_INC_PATH=%SDK_INC_PATH%
- set _WIN32_WINNT=0x0501
- set WINVER=0x0501
- set _WIN32_IE=0x0500
- set TARGET_LIB_PATH=%DDK_LIB_PATH%\i386
當需要繼續(xù)使用Driver Studio提供的便捷的代碼生成向?qū)r,可以直接調(diào)用Driver Wizard在開始菜單中的快捷方式。