freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于windows98系統(tǒng)的數(shù)據(jù)采集開發(fā)(參考版)

2025-05-23 07:54本頁面
  

【正文】 下面就給出這個(gè)例子的具體內(nèi)容。 ?終止 VxD: 點(diǎn)擊終止設(shè)備驅(qū)動(dòng)程序圖標(biāo)“ STOP”,終止 VxD 的運(yùn)行 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 20 第四章 驅(qū)動(dòng)程序設(shè)計(jì) 第一節(jié) 實(shí)例學(xué)習(xí) 在 VxD 的學(xué)習(xí)例子中,有一個(gè)簡單的 ,說明了 VxD 程序提供的基本框架結(jié)構(gòu)。 下面簡單介紹一下 Debug Monitor 工具的使用。 Monitor 輸出的是和命令相關(guān)的事件。它可用來觀察 VxD和 WDM 在 debug 狀態(tài)下的輸出流,其使用比較簡單。還要 注意的是,當(dāng)你在修改制造文件時(shí),要保證目標(biāo)文件和相應(yīng)的代碼文件的名字相同,比如 ,否則編譯時(shí)將給出出錯(cuò)信息?,F(xiàn)在我們就給出了一個(gè)制造文件的例子,并對制造文件的參數(shù)進(jìn)行詳細(xì)講述。 制造文件( *.mak)只要指示怎樣編譯和連接你自己的 VXD。 頭文件 (*.h) 主要包含各種標(biāo)志常量的定義和類的定義等,如果你聲明了你自己的 VXD的服務(wù)函數(shù),那么服務(wù)函數(shù)也將在頭文件中聲明。萬事具備后就只需單擊“ Generate Now”按鈕, QuickVXD就會檢查我們填入的設(shè)備參數(shù)是否正確,這些參數(shù)將填寫到 DDB數(shù)據(jù)結(jié)構(gòu)中,如果參數(shù)有錯(cuò),QuickVXD會通知你。 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 18 圖 文件輸出屬性頁 在該頁面中給出了將要?jiǎng)?chuàng)建的 3個(gè)文件的名字以及它們產(chǎn)生后存放的目錄。 圖 類屬性頁 在上面所有這些參數(shù)按照你自己的要求填寫完畢后,剩下的工作就由 QuickVXD自動(dòng)生成代碼框架。當(dāng)我們在設(shè)備參數(shù)頁中指定了 VXD的名字后, QuickVXD自動(dòng)缺省根據(jù) VXD的名字生成這三個(gè) 類的名字。 該屬性頁只有在選擇了 C++框架后才有效, QuickVXD定義這三個(gè)類用來分別分發(fā)處理不同的消息。在堆棧維護(hù)上, _cdecl必須有調(diào)用 程序彈出壓入堆棧的參數(shù),而 _stdcall則是由被調(diào)用程序彈出壓入堆棧的自己的參數(shù)。必須注意的是,在聲明你的服務(wù)函數(shù)時(shí)明確指出它的調(diào)用規(guī)則,是基于_cdecl還是 _stdcall,其實(shí)這兩種調(diào)用規(guī)則在參數(shù)入棧上是相同的,都是從右到左把參數(shù)壓入堆棧,它們的區(qū)別在于兩者的命名堆棧和堆棧維護(hù)上不同。 圖 VXD服務(wù)屬性頁 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 17 在編輯框中填入你的 VXD要 提供給其他 VXD的 C語言原型服務(wù)函數(shù),然后單擊“ Add”按鈕即將該服務(wù)函數(shù)添加到下面的列表框中。 與“ Control Message”屬性頁中一樣,你需要處理什么消息鉤選該消息即可。這些“ x_x_x2”消息是按照與初始化相反的順序傳送給 VXD。當(dāng)然原來就有許多解決這類問題的方法,但是沒有一種方法是完全令人滿意的。增加這些消息(這些消息都是或退出,或撤消,或終止某某)的目的是為了解決在 Windows 沖突問題:以前這些對應(yīng)的推出類消息(比如對應(yīng)于剛才舉的例子的 CLOSE_VM_NOTIFY2的 CLOSE_VM_NOTIFY消息)仍然按照初始化的順序傳送給各個(gè) VXD,這就產(chǎn)生了問題。 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 16 圖 Windows 95控制消息屬性頁 在該屬性頁中的所有消息都 Windows 95支持。本屬性頁包括的消息在 Windows 3x和 Windows 9x下都支持,如果需要?jiǎng)?chuàng)建某個(gè)消息的處理框架和處理程序,只須鉤選相應(yīng)的消息即可, QuickVXD會自動(dòng)幫你作好處理框架和生成最簡單的處理程序代碼。 單擊“ Control Message”標(biāo)簽,對話框如圖 。在指定廠商應(yīng)用程序入口( Vendor Specific Application Entry Points)多選框中可以鉤選是否利用 DPMI( DOS Proteced Mode Interface)分別提供 V86程序或保護(hù)模式程序到 VXD的入口點(diǎn)。 單擊“ API”標(biāo)簽,對話框如圖 。Frameword決定所產(chǎn)生的 vxD程序代碼框架是用 C語言還是 C++語言。 Device ID(設(shè)備標(biāo)識 )是一個(gè) 16位的無符號整數(shù),是所創(chuàng)建的 VxD設(shè)備標(biāo)識,不能和其他 VxD設(shè)備的 Device ID相沖突。此屬性頁對話框包括 Device Parameters (設(shè)備參數(shù) )對話框、 API(應(yīng)用程序接口 )對話框、 VxDServices(VxD服務(wù) )對話框、Control Message(控制消息 )對話框、 Windows 95 Control Message(Windown 95 控制消息 )對話框、 0utPut Files(文件輸出 )對話框、 Classes(C++類 )類屬性頁。程序員在 QuickVxD中選擇和定義所需的 VxD代碼框架的基本特征,定義完成以后就可生成 VxD應(yīng)用程序框架,它使開發(fā)者只須在 VxD應(yīng)用框架中添加所需的代碼.而不必注重于編程的低級代碼。 Vxdview程序是用來查看已經(jīng)加載的 VXD的信息的。 Win32程序、庫 文件( *.lib)和目標(biāo)文件( *.obj)等都是 PE文件,而 VXD等都是 LE文件。 第三節(jié) VTOOLSD 的工具程序 Infedit程序是用來編輯 INF文件的, INF文件是用來安裝驅(qū)動(dòng)程序的。 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 13 3 VxDView 工具的起始位置之問題 VxDview工具可用來瀏覽當(dāng)前系統(tǒng)裝載了 哪些虛擬驅(qū)動(dòng)程序,我們可用該工具來查看程序是否裝載了某個(gè) VxD。 2 VTOOLSD 安裝路徑之問題 VTOOLSD安裝成功后,需把 VTOOLSD所在的系統(tǒng)路徑設(shè)置成環(huán)境常數(shù)到AUTEXEC. BAT文件的 VTO OLSD參數(shù)項(xiàng)中,按理說 VTOOLSD的系統(tǒng)路徑應(yīng)該是隨意設(shè)置的,但最好把安裝路徑設(shè)置成如 “C:\ VTOOLSD”、 “D:\ VTOOLSD”等,即設(shè)置成與環(huán)境變量名一樣的名稱 VTOOLSD,系統(tǒng)可正常的運(yùn)行。我們在安裝時(shí)需把長路徑改成 MS DOS方式下的路徑名,具體設(shè)置時(shí)我們先應(yīng)進(jìn)入 MS DOS方式,用 DIR、 CD命令來獲取系統(tǒng)當(dāng)時(shí)的路徑數(shù)據(jù)。 (1) 第二節(jié) 環(huán)境參數(shù)設(shè)置問題 VTOOLSD ,如 按照系統(tǒng)所設(shè)置的參數(shù),系統(tǒng)不能很正常的運(yùn)行?,F(xiàn)在廣泛使用的是 VTOO LSD 。 VTOOLSD通過屏蔽系統(tǒng)及 VXD的底層技術(shù)細(xì)節(jié)提供豐富的 C運(yùn)行庫和 C++類庫,讓開發(fā)人員充分享用面向?qū)ο缶幊谭椒ǖ姆奖闩c快捷。那時(shí)的開發(fā)工作又苦又累。 6)調(diào)用 hook成員函數(shù),在此函數(shù)之后可以調(diào)用 physicalUnmask成員函數(shù)保證中斷不被屏蔽。 3)對中斷通知處理成員函數(shù)編程 4)如果想讓所有的虛擬機(jī)管 理器都能夠處理本中斷,可以調(diào)用 forceDefaultOwner成員函數(shù)。在派生類中定義構(gòu)造函數(shù),并重載中斷處理通知處理成員函數(shù)。例如用戶需要進(jìn)行中斷操作,那么就可以按照下面的方法使用 VHARDWAREENT類。 ( 3)定制消息處理 VTOOLSD工具為 I/ O端口、中斷、 DMA等提供了功能完善的封裝類來支持 VXD驅(qū)動(dòng)程序的工作。 初始化操作既可以放在系統(tǒng)消息 DTOC_OPEN中,也可以放在用戶自定義消息中。在內(nèi)存映射時(shí)首先要計(jì)算內(nèi)存段占用的頁面數(shù),然后使用 PageReserve、 PageCommitPhys函數(shù)進(jìn)行內(nèi)存映射。 Windows操作系統(tǒng)在每次啟動(dòng)時(shí)給硬件設(shè)備分配 I/ O端口、內(nèi)存、中斷、 DMA等資源,通過調(diào)用 DDK函數(shù) CONFIGMG_Get_ALLOC_Log_Conf來填充 CMCONFIG結(jié)構(gòu)能夠獲取Windows操作系統(tǒng)為硬件設(shè)備分配的硬件資源。 VXD驅(qū)動(dòng)程序根 據(jù)設(shè)備類型使用硬件設(shè)備的 DEVlCElD和 VENDOND來查找硬件設(shè)備。 系統(tǒng)消息宏 DIOC_OPEN和 DIOC_CLOSE等不需要用戶顯示定義,在驅(qū)動(dòng)程序啟動(dòng)時(shí)自動(dòng)加入消息隊(duì)列。訪問方法共有 4種: METHOD_NEITHER, METHOD_BUFFERED,METHOD_IN_DIRECT,METHOD_0UT_DIRECT.在消息映射沒有對硬件設(shè)備的寄存器、 I\O端口、內(nèi)存進(jìn)行操作時(shí),使用 METHOD_NEITHER方法,在消息映射對硬件設(shè)備的寄存器、 I\ O端口進(jìn)行讀寫操作時(shí),使用 METHOD_BUFFERED方法,在 消息映射對硬件設(shè)備的內(nèi)存進(jìn)行讀操作時(shí),使用 METHOD_OUT_DIRECT方法,在消息映射對硬件設(shè)備的內(nèi)存進(jìn)行寫操作時(shí),使用METHOD_IN_DIRECT方法。設(shè)備類型一般為FILE_DEVICE_UNKNOWN,也可以使用 FILE_DEVICE_VEDIO、FILE_DEVICEE_NETWORK等其他設(shè)備類型,根據(jù)驅(qū)動(dòng)程序文持的硬件 類型而定。 ?門定制消息映射 define IOCTL_PCICFG_GETCFG\ CTL_CODE(FILE_DEVICE_UNKOWN,0x801,METHOD_NEITHOR,FILE_ANY_ACCESS) 在使用 CTL_CODE消息宏定制消息映射時(shí),一定要設(shè)置正確的參數(shù)。 圖 1 使用 VTOOLSD 工具開發(fā) VXD 驅(qū)動(dòng)程序的流程圖 VTooLSD工具提供了非常友好的 VXD驅(qū)動(dòng)程序開發(fā)工具 QUICKVXD與調(diào)試工具使用 QUICKVXD 生成驅(qū)動(dòng) 程序框架 在 VCIDE 環(huán)境中定制驅(qū)動(dòng)程序 添加定制消息映射 初始化獲取硬件設(shè)備 初始化分配 I/O斷口、內(nèi)存、DMA等硬件資源 定制消息處理 I/O端口、內(nèi)存、中斷、 DMA等操作 特殊消息處理 釋放硬件資源、關(guān)閉驅(qū)動(dòng)程序 使用 DRIVERMONITOR 調(diào)試完善驅(qū)動(dòng)程序 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 10 DRIVERMONITOR,開發(fā)者首先在 QUICKVXD窗口中填寫幾個(gè)基本的參數(shù)生成 VXD驅(qū)動(dòng)程序框架,在 VCIDE環(huán)境中添加定制消息映射處理驅(qū)動(dòng)程序細(xì)節(jié),最后使用DRIVERMONITOR工具調(diào)試完善驅(qū)動(dòng)程序。 (2) 第九節(jié) 使用 VT00IJSD 開發(fā) VXD 驅(qū)動(dòng)程序的關(guān)鍵問題 用來開發(fā) VxD模式驅(qū)動(dòng)程序的工具軟件很多,例如 Microsoft公司的 VXD驅(qū)動(dòng)程序開發(fā)包、 Numega公司的 VTOOLSD工具和 Jungo公司的 WINDRIVER工具,特別是 VTOOLSD工具為開發(fā)建立了許多封裝,大大簡化了 VXD驅(qū)動(dòng)程序的開發(fā)過程。 (5)系統(tǒng)資源調(diào)用方式不同。 (4)系統(tǒng)資源分配方式不同。在 VXD模式程序中,開發(fā)人員必須在驅(qū)動(dòng)程序中,首先查找硬件設(shè)備的 DEVICEID和 VENDORID,通過這兩個(gè) ID號來連接對應(yīng)的硬件設(shè)備。在 VXD模式驅(qū)動(dòng)程序中,初始化工作則沒有固定的位置,放在DIOC_OPEN系統(tǒng)消息或者用戶自己定義的消息中。 (2)驅(qū)動(dòng)程序的入口點(diǎn)不同。 VXD模式驅(qū)動(dòng)程序和 wDM驅(qū)動(dòng)程序的主要差異如下 : (1)支持的 Windows版本不同。由于 VXD模式驅(qū)動(dòng)程序要求開發(fā)人員必須深入理解和掌握諸如 VMM(虛擬機(jī)管理器 )、 VNCD(虛 擬可編程終端控制器 )、 DMA(直接存儲器訪問 )、內(nèi)存管理等 Windows操作系統(tǒng)內(nèi)核的工作機(jī)制,開發(fā)難度大,適應(yīng)性差,M1crosoft公司試著逐步拋棄它。此外,由于 VxD運(yùn)行在 Ring 0上根本不受 Ring 3的制約,也給病毒的制造者即黑客以可乘之機(jī),比如著名的 CIH病毒就是一個(gè) VxD。通過安裝自己的 Hooker函數(shù),就可以截獲系統(tǒng)內(nèi)所有對文件 I/ O的 API調(diào)用,井適時(shí)對相關(guān)文件進(jìn)行病毒檢查,
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1