日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

1 《Undocumented Windows 2000 Secrets》翻譯 --- 第三章( 三 )


表 3-1 中有幾處需參考配置文件 ---w2k_wiz.ini。示例 3-1 給出了其默認(rèn)設(shè)置 。在使用向?qū)е?,你?yīng)該將光盤 srcw2k_wizrelease 目錄下的 w2k_wiz.exe 、 w2k_wiz.ini 和所有的 w2k_wiz.t* 模板文件復(fù)制到你的硬盤上,然后編輯配置文件,將對應(yīng)內(nèi)容改為你自己的設(shè)置 。你還需要修改 Include 、 Free 和 Checked,使其和你的 DDK 安裝相匹配 。如果你使用 Visual C/C6.0,可以不改變 Root 的值 。如果不,則將其設(shè)為你存放工程文件的根目錄 。如果以一個反斜線結(jié)尾,它將作為默認(rèn)值 。在 示例 3-1 中,其鍵值為: HKEY_CURRENT_USERSoftWareMicrosoftoDevStudio6.0Directories,而 WorkspaceDir 用來存放基本的工作目錄 。
鍵入 w2k_wiz MyDriver 來執(zhí)行該向?qū)В鼤?dāng)前目錄下創(chuàng)建名為 MyDriver 的工程目錄,該目錄將存放向?qū)傻?MyDriver.dsw 、 MyDriver.dsp 、 MyDriver.c 、 MyDriver.h 、 MyDriver.rc 和 MyDriver.ico 文件 。如果你指定了具體的路徑,則會在你指定的路徑下創(chuàng)建該目錄 。另一個合法的命令選項(xiàng)是星號,如: w2k_wiz *MyDriver。在此種情況下,向?qū)Р粫诋?dāng)前目錄下創(chuàng)建工程目錄,而是去查找 Visual C/C維護(hù)的默認(rèn)的工程根目錄,即 w2k_wiz.ini 中的 Root 所指向的位置 。
w2k_wiz.ini
08-27-2000 Sven B. Schreiber
sbs@orgon.com
[Settings]
Text =
Company =
Author =
Email =
Prefix =
Include = E:NTDDKinc
Free = E:NTDDKlibfrei386
Checked = E:NTDDKlibchki386
Root = HKEY_CURRENT_USERSoftwareMicrosoftDevStudio6.0DirectoriesWorkspaceDir
示例 3-1. 向?qū)еС值淖远x選項(xiàng)
運(yùn)行驅(qū)動向?qū)?br /> 現(xiàn)在,來試試這個驅(qū)動向?qū)?。示例 3-2 給出了在 Windows 2000 控制臺下執(zhí)行 w2k_wiz *TestDrv 后的輸出 。這將在 Visual C/C默認(rèn)的工程根目錄下創(chuàng)建一個名為 TestDrv 的工程目錄 。
顯然,除了將 .td 模板轉(zhuǎn)換為 .def 時出了錯,其余轉(zhuǎn)換都成功的完成了 。因?yàn)樵撓驅(qū)傻尿?qū)動程序骨架不需要 .def 文件,所以不需要提供 .td 模板文件 ?,F(xiàn)在,用 Visual C/C打開一個新的 WorkSpace,然后你會發(fā)現(xiàn)一個名為 TestDrv 的新目錄,該目錄中包含一個名為 TestDrv.dsw 的 WorkSpace 文件 。該文件可以被正確的打開 。接下來,你因該為生成項(xiàng)目選擇活動的配置信息 。驅(qū)動向?qū)傻?.dsp 文件提供了如下兩個可用配置:
1. Win2k Kernel-mode Driver(debug)
2. Win2k Kernel-mode Driver(release)
默認(rèn)情況下,將使用 debug 配置來生成項(xiàng)目,但是你可在任何時候從 Visual C/C菜單 Build/Set Active Configuration 來選擇不同的項(xiàng)目配置 。最后,你要將光盤中的 srccommonincludeDrvInfo.h 復(fù)制到你自己的頭文件目錄中 。在打開 TestDrv.rc 時,應(yīng)使用文本模式來打開(如 圖 3-3 所示),這是因?yàn)樵撐募褂昧藖碜?DrvInfo.h 中的復(fù)雜的宏定義,這些宏會導(dǎo)致資源編輯器異常退出 。這個錯誤從 Visual C/C5.0 開始,在我印象中,一直沒有被改正過 。和編輯器不同,資源編譯器( Resource Compiler )可以正常的處理這些宏 。
圖 3-3. 以文本模式打開 TestDrv.c 、 TestDrv.h 和 TestDrv.rc
現(xiàn)在,已經(jīng)為第一次編譯做好了所有準(zhǔn)備 。在示例 3-3 中,我通過選擇 Build/Rebuild 菜單來建立 Driver 的 Release 版,看起來一切都正常 。順便說一下,頭兩行末尾的省略號表示我截斷了 Build 命令的輸出 。
鏈接器會在 Debug 或 Release 目錄下創(chuàng)建了一個名為 TestDrv.sys 的可執(zhí)行文件,這依賴于你的生成配置 。Test Driver 的 Release 版大小為 5.5KB,其 Debug 版為 8KB。你可以使用本書光盤中的 MFVDasm 或 PEView 來驗(yàn)證 TestDrv.sys 是否包含有效的代碼和數(shù)據(jù) 。
深入驅(qū)動程序的骨架
列表 3-3 展示了向?qū)傻?TestDrv.c。與之相關(guān)的頭文件 TestDrv.h 在 列表 3-4 中 。在 列表 3-3 中,請注意標(biāo)題處的

推薦閱讀