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

正文內(nèi)容

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

2025-05-13 07:54 本頁(yè)面
   

【正文】 通過(guò)這個(gè)例子的學(xué)習(xí),對(duì)我們開發(fā)驅(qū)動(dòng)程序有很大的幫助。 Default 輸出的是 VxD 在 debug 狀 態(tài)下的輸出流。 第四節(jié) Debug Monitor 的使用介紹 Debug Monitor 是 NuMega VtoolsD 提供的開發(fā)工具之一,如圖。因此它非常重要,而且它的結(jié)構(gòu)相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。如果沒有錯(cuò)誤,那么你就有了你自己的 VXD的框架代碼了。 單擊“ Output Files”標(biāo)簽,對(duì)話框如圖 。大多數(shù)的消息分發(fā)到“ Device Class”的成員處理函數(shù);而針對(duì)于不同的虛擬機(jī)和線程的消息則分別由“ Virtual Machine Class”和“ Thread Class”來(lái)處理。在命名修飾上, _cdecl是在函數(shù)名前加一下劃線,比如一個(gè)名為 Get_Cdecl的函數(shù),那么在編譯后生成的目標(biāo)文件( *.obj)中它的名字為 _Get_Cdecl;而 _stdcall則除了在函數(shù)名的前面加上一下劃線外,還將在函數(shù)名的后面加上“ ”符,在“ ”符后再加上函數(shù)參數(shù)的字節(jié)數(shù), 如 Get_stdcall函數(shù)經(jīng)過(guò)命名修飾后名字為 _Get_Stdcall13,13就表示參數(shù)共有 13個(gè)字節(jié) (4個(gè)字節(jié)的整數(shù) ,1個(gè)字節(jié)的字符, 8個(gè)字節(jié)的雙精度數(shù) )。 單擊“ VXD Services”標(biāo)簽,對(duì)話框如圖 。 在 Windows 9x系統(tǒng)中通過(guò)“ x_x_x2”這些消息解決它們對(duì)應(yīng)的消息的問題。也許大家注意到了有幾個(gè)消息的形式是“ x_x_x2”以 2結(jié)尾(表示其他的字符串),比如“ CLOSE_VM_NOTIFY2”。 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 15 圖 控制消息屬性頁(yè) QuickVXD將 VXD的所有消息劃分在兩個(gè)消息頁(yè),即 Control Messages和 Windows 95 Control Messages中。 圖 API屬性頁(yè) 在標(biāo)準(zhǔn)應(yīng)用程序入口( Standard Application Entry Points)多選框中可以鉤選是否在你的 VXD中提供 V86應(yīng)用程序長(zhǎng)跳 轉(zhuǎn)到你的 VXD的入口點(diǎn)( Real/V86 Mode)或保護(hù)模式應(yīng)用程序長(zhǎng)跳轉(zhuǎn)到你的 VXD的入口點(diǎn)( Protected Mode)。 Device Initialization 0rder 確定 Windows95/ 98對(duì) VxD設(shè)備裝載的順序,如果與其他的 VxD設(shè)備無(wú)關(guān).可以使用 VTOOLSD提供的缺省值 UNDEFINED_INIT_ORDER,如果必須在虛擬設(shè)備 XXX之后加載,可用 XXX_INIT_ORDER+1,如果須在設(shè)備 XXX之前加載可 XXX_INIT_ORDERl。 QuickVxD是一種基于屬性頁(yè)對(duì)話框的代 碼產(chǎn)生器,程序員通過(guò)選擇少量簡(jiǎn)單的選項(xiàng),只需執(zhí)行簡(jiǎn)單的操作就可以生成 VxD工程文件的應(yīng)用程序框架。 Vxdload程序是用來(lái)加載可動(dòng)態(tài)加載的 VXD。系統(tǒng)安裝成功后, VxDView不能很好的運(yùn)行,看不到系統(tǒng)裝載的VxD,原因在于 VxD View的起始位置不完善,應(yīng)把 VTOOLSD for Windows95文件夾中VxDView起始位置改成 VxDView所在的路徑 (一般在 VToolsD系統(tǒng)下的 BIN子目錄 )。如 VC的路徑為 “C:\ PROGRAl\ MICR0Sl\ VC98” 。當(dāng)前最新的版本是 1999年推出的 VTOOLSD 。不過(guò)自從Compuware公司 推出 VTOOLSD后,一切就明朗了。 5)創(chuàng)建一個(gè)派生類實(shí)例,實(shí)例的創(chuàng)建通常放在驅(qū)動(dòng)程序初始化工作里。 1)派生類 VHAKDwAKElNT。如果放在自定義消息中,則在驅(qū)動(dòng)程序啟動(dòng)后,需要顯示調(diào)用一次 自定義消息操作,完成初始化工作。如果硬件資源中包括內(nèi)存資源,則需要進(jìn)行內(nèi)存映射操作,將物理地址轉(zhuǎn)換為線性地址,否則無(wú)法進(jìn)行內(nèi)存操作。 ( 2)初始化 在進(jìn)行驅(qū)動(dòng)程序初始化時(shí),需要完成查找獲取硬件設(shè)備、分配硬件資源等工作。消息序號(hào)由開發(fā)者自己定義,消息序號(hào)既可以從 1開始,也可以從更大的自然數(shù)開始,但不能夠大于 65535,多個(gè)消息映射的消息序號(hào)既可以是連續(xù)的,也可以是間隔的。開發(fā)者在添加定制消息映射處理驅(qū)動(dòng)程序細(xì)節(jié)時(shí),尤其要注意下列幾個(gè)問題。 VXD模式驅(qū)動(dòng)程序需要直接處理 VPICD、 DMA、內(nèi)存管理 等工作的細(xì)節(jié); WDM模式驅(qū)動(dòng)程序?qū)χ袛嗵幚怼?DMA控制、內(nèi)存管理等提供了很好的封裝,只需調(diào)用相應(yīng)的 DISPATCH例程即可完成對(duì)硬件的換作。在 WDM驅(qū)動(dòng)程序中,驅(qū)動(dòng)程序和物理設(shè)備的連接則由 PNP設(shè)備管理器來(lái)完成。所有的 WDM模式驅(qū)動(dòng)程序必須包含一個(gè) DriverEntry例程,PNP設(shè)備管理器通過(guò)在 WDM模式驅(qū)動(dòng)程序查詢?cè)摾虂?lái)對(duì)設(shè)備進(jìn)行諸如驅(qū)動(dòng)程序初始化,資源分配等工作。在 Windows操作系統(tǒng)的較新版本,如 Windows 98SE/ME/20xx/ XP中,加入了 Plug and Play、 ACIP和 WMI等高級(jí)功能, WDM模式驅(qū)動(dòng)程序就是為了適應(yīng)這種變化而提出的。 (9) 第七節(jié) Vxd 的局限性 VxD技術(shù)只適用于 Windows 9x操作系統(tǒng) , Windows NT不支持此項(xiàng)技術(shù) , 而是采用更為先進(jìn)的面向?qū)ο蟮尿?qū)動(dòng)程序模型 , 例如 Windows 20xx就采用了一種基于 NT的驅(qū)動(dòng)程序模型WDM。應(yīng)用程序通過(guò)使用動(dòng)態(tài)加載的 VxD,間接獲得了對(duì) Windows 9x系統(tǒng)的控制權(quán),四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 8 但要實(shí)現(xiàn)對(duì)系統(tǒng)中所有文件 I/ O操作的實(shí)時(shí)監(jiān)視,還要用到另一種關(guān)鍵技術(shù)——FileHooking,通過(guò)掛接一個(gè)處理函數(shù),截獲所有與文件 I/ O操作有關(guān)的系統(tǒng)調(diào)用。 windows 9x使用的是 Ring 0和 Ring 3兩個(gè)保護(hù)級(jí)。在很多情況下,這可以獲得比較滿意的實(shí)時(shí)效果。它的基本編程方法是:用VTo01sD自帶的 QMtckVxD程序快速生成程序框架,在 VC++ Brland C++中打開此框架的工程文件,并寫進(jìn)特定的處理代碼,編譯后就可得到所需的 VxD文件。在極少數(shù)情況下應(yīng)用程序也可調(diào)用 API函數(shù) DeleteFile(“\\.\四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 7 VxDName”),忽略引用計(jì)數(shù)的值直接將 VxD卸出內(nèi)存,這將可能給使用同一 VxD的其它應(yīng)用程序造成毀滅性影響,應(yīng)避免 使用。而其他則根據(jù)用戶的要求在 VXD 中對(duì)應(yīng)應(yīng)用程序給出的 IO 控制指令進(jìn)行響應(yīng)處理。 //指向一個(gè) OVERLAPPED結(jié)構(gòu) DWORD dioc_hDevice。 //輸入緩沖區(qū)的大小 PVOID dioc_OutBuf。 //虛擬機(jī)句柄 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 6 DWORD dioc_VxdDDB。其參數(shù) p 指向一個(gè) IOCTLPARAMS 結(jié)構(gòu)的指針。 在這個(gè)設(shè)計(jì)里面,主要是用到下面這個(gè)消息: W32_DEVICEIOCONTROL 該消息有針對(duì)性地傳給指定的 VXD 響應(yīng) Win32 應(yīng)用程序調(diào)用 CreateFile 或DeviceIoControl 函數(shù)。 對(duì)動(dòng)態(tài) VxD來(lái)說(shuō),最重要的消息有三個(gè): SYS_DYNAMIC_DEVICE_INIT、SYS_DYNAMIC_DEVICE_EXIT以及 W32_DEVICEIOCONTROL,消息代號(hào)分別是 lBh、lCh、 23h。除此之外,應(yīng)用程序還可通過(guò)調(diào)用 API函數(shù)DeviceIoContro1與支持 IOCTL接口的 VxD進(jìn)行通信,執(zhí)行 Win32API不支持的系統(tǒng)低級(jí)操作。 配置管理程序服務(wù):它把 VxD與 Windows即插即用于 系統(tǒng)連接起來(lái)。 I/ O俘獲服務(wù):它為 VxD提供一種方式,使 VxD與 VMM協(xié)同管理處理器的 I/ O端口。還有許多其它 VxD,如即插即用于系統(tǒng)和文件系統(tǒng)驅(qū)動(dòng)程序.這種 VxD聯(lián)合體形成了 Windows的基本操作系統(tǒng)。 VxD是用來(lái)擴(kuò)展 Windwos操作系統(tǒng)功能的一類程序。 VxD不能改變 CS、 DS、 ES和 SS段寄存器 VxD能夠 使用 FS和 GS段寄存器。該段包含實(shí)模式初始化過(guò)程和數(shù)據(jù),VMM在加載 VxD其它部分之前調(diào)用此過(guò)程,過(guò)程返回后丟棄此段,該段用宏四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 4 Vxd_REAL_INITSEG和 VXD_REA L_INIT_ENDS定義開始和結(jié)束,也可命名為 _RTEXT。 (4)VxD_IDATA段:保護(hù)模式初始化數(shù)據(jù)段 [可選 ]。該段用宏 VxD_DATA_SEG和 VxD_DATA_ ENDS定義開始和結(jié)束,也可命名為 _LDATA。該段包含 VxD系統(tǒng)控制過(guò)程、回調(diào)過(guò)程、服務(wù)和 VxD的 API接口函數(shù)。 VxD不僅適用于硬件設(shè)備,也適用于按 vxD規(guī)范所編制的各種軟件 “設(shè)備 ”。為了使開發(fā)的應(yīng)用程序也能直接處理硬件,就需要編寫專 門的 VxD。級(jí)的應(yīng)用程序的中斷和 I/ O請(qǐng)求,然后建立緩沖隊(duì)列,再一一進(jìn)行串行處理。 windows98僅使用了 Ring 0和 Ring 3兩個(gè)保護(hù)級(jí)。 VxD用一個(gè)或多個(gè)設(shè)備上下文結(jié)構(gòu)來(lái)保存信息如 I/O端口基址,中間向量等VxD將自己的每個(gè)狀態(tài)信息保存在 VMM的 VM控制塊中。 VMM是通過(guò) VxD的設(shè)備描述符塊 DDB(Device Descriptor Block)來(lái)識(shí)別不同設(shè)備的。在這樣的多任務(wù)環(huán)境中,不同的應(yīng)用程序可以共享相同的物理資源,從而實(shí) 現(xiàn)多進(jìn)程并行運(yùn)行. 386 以上的微處理器有 4 個(gè)優(yōu)先級(jí): 0 級(jí)、 1 級(jí)、 2 級(jí)、 3 級(jí).一般操作系統(tǒng)運(yùn)行于 Ring0級(jí)上,而用戶程序運(yùn)行在 Ring3 級(jí)上 (Ringl、 Ring2 未使用 )。所以說(shuō)采集電壓或電流的值就可以間接的測(cè)量間歇值的大小。但放電間歇的大小和放電電壓(或電流之間)有一定的內(nèi)在聯(lián)系,我們可以測(cè)量這些電參數(shù)來(lái)間接測(cè)量間歇值的大小和變化。 對(duì)于自動(dòng)進(jìn)給機(jī)構(gòu)和自動(dòng)調(diào)節(jié)系統(tǒng)來(lái)講,就是要在放電加工過(guò)程中,不但要使工具電極和工件隨著工件材料被不斷蝕除而相對(duì)進(jìn)給,以形成一定形狀和尺寸的工件,而且還要不斷調(diào)節(jié)進(jìn)給速度甚至停止進(jìn)給或退回,以保持恰當(dāng)?shù)姆烹婇g歇。 第二節(jié) 數(shù)據(jù)采集的作用 在放電加工過(guò)程中,工件不斷地被蝕除,工具也有一定的損耗,所以放電間歇將不斷增大。通過(guò)各種比較展現(xiàn)出使用 VToolsD工具和 Visual C++工具開發(fā)虛擬設(shè)備的驅(qū)動(dòng)程序的特點(diǎn)和優(yōu)缺點(diǎn),并且進(jìn)一步設(shè)想使用 PC7422 12位 32路 A/D 100K轉(zhuǎn)換卡在計(jì)算機(jī)上模擬微進(jìn)給過(guò)程中的電壓數(shù)據(jù)采集過(guò)程。為了獲得各種各樣的測(cè)量結(jié)果我們常常借助各種儀表和各種手段,以此來(lái)確知某一測(cè)試對(duì)象的各項(xiàng)特性。數(shù)據(jù)采集是機(jī)床數(shù)控和機(jī)電控制的基礎(chǔ)和關(guān)鍵。利用這一系列技術(shù)方法,可以研發(fā)出微進(jìn)給自動(dòng)系統(tǒng)中的數(shù)據(jù)采集系統(tǒng),使之安全有效地投入使用。必須使工具電極及時(shí)進(jìn)給補(bǔ)償,否則放電過(guò)程勢(shì)必由于間歇過(guò)大而停止。因?yàn)樗矔r(shí)蝕除量和放電間歇的物理狀態(tài)是變化無(wú)常的,而且,放電間歇很小,且位于工作液中而無(wú)法觀察而后直接測(cè)量,因此必須通過(guò)自動(dòng)調(diào)節(jié)進(jìn)給裝置來(lái)保持恰當(dāng)?shù)姆烹婇g歇。 (4) 具體的測(cè)量環(huán)節(jié)可被電極間歇的電壓、電流、或電壓及電流三種方式取得信號(hào)。 第三節(jié) Windows 98 的特點(diǎn) Win9x 操作系統(tǒng)以其豐富的圖形用戶界面,可以實(shí)現(xiàn)多任務(wù)而 得到了廣泛應(yīng)用,在Win9x 上開發(fā)數(shù)據(jù)采集系統(tǒng)教 DOS 開發(fā)平臺(tái)可獲得更高的效率和更友好的界面。 VxD 運(yùn)行于 Ring0 級(jí)上,其在內(nèi)存中的位置也是處在操作系統(tǒng)保護(hù)的空間之內(nèi)的。DDB向 VMM提供了 VxD的主人口點(diǎn),還向應(yīng)用程序和其他 VxD提供人口點(diǎn)。 (1) 第二節(jié) Vxd 簡(jiǎn)介 從 Intel80386開始的系列微處理器提供了真正的 32位運(yùn)算 , 并提供了四個(gè)特權(quán) (Privilege)級(jí)即保護(hù)級(jí) , 可在三種模式下工作 : 實(shí)模式、保護(hù)模式和 V86模式。運(yùn)行于 Ring 0的進(jìn)程,可以擁有系統(tǒng)資源的所有訪問權(quán)和管理權(quán),而運(yùn)行于 Ring 3的進(jìn)程只能訪問自己的程序空間,不允許對(duì)系統(tǒng)資源進(jìn)行直接訪問,很多操作受限,用戶級(jí)應(yīng)用程序均運(yùn)行于 Ring 3,不能四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 3
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1