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

正文內(nèi)容

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

2025-07-17 07:54上一頁面

下一頁面
  

【正文】 要注意下列幾個問題。 ( 2)初始化 在進行驅(qū)動程序初始化時,需要完成查找獲取硬件設(shè)備、分配硬件資源等工作。如果放在自定義消息中,則在驅(qū)動程序啟動后,需要顯示調(diào)用一次 自定義消息操作,完成初始化工作。 5)創(chuàng)建一個派生類實例,實例的創(chuàng)建通常放在驅(qū)動程序初始化工作里。當(dāng)前最新的版本是 1999年推出的 VTOOLSD 。系統(tǒng)安裝成功后, VxDView不能很好的運行,看不到系統(tǒng)裝載的VxD,原因在于 VxD View的起始位置不完善,應(yīng)把 VTOOLSD for Windows95文件夾中VxDView起始位置改成 VxDView所在的路徑 (一般在 VToolsD系統(tǒng)下的 BIN子目錄 )。 QuickVxD是一種基于屬性頁對話框的代 碼產(chǎn)生器,程序員通過選擇少量簡單的選項,只需執(zhí)行簡單的操作就可以生成 VxD工程文件的應(yīng)用程序框架。 圖 API屬性頁 在標(biāo)準(zhǔn)應(yīng)用程序入口( Standard Application Entry Points)多選框中可以鉤選是否在你的 VXD中提供 V86應(yīng)用程序長跳 轉(zhuǎn)到你的 VXD的入口點( Real/V86 Mode)或保護模式應(yīng)用程序長跳轉(zhuǎn)到你的 VXD的入口點( Protected Mode)。也許大家注意到了有幾個消息的形式是“ x_x_x2”以 2結(jié)尾(表示其他的字符串),比如“ CLOSE_VM_NOTIFY2”。 單擊“ VXD Services”標(biāo)簽,對話框如圖 。大多數(shù)的消息分發(fā)到“ Device Class”的成員處理函數(shù);而針對于不同的虛擬機和線程的消息則分別由“ Virtual Machine Class”和“ Thread Class”來處理。如果沒有錯誤,那么你就有了你自己的 VXD的框架代碼了。 第四節(jié) Debug Monitor 的使用介紹 Debug Monitor 是 NuMega VtoolsD 提供的開發(fā)工具之一,如圖。 通過這個例子的學(xué)習(xí),對我們開發(fā)驅(qū)動程序有很大的幫助。 Default 輸出的是 VxD 在 debug 狀 態(tài)下的輸出流。因此它非常重要,而且它的結(jié)構(gòu)相對來說比較簡單。 單擊“ Output Files”標(biāo)簽,對話框如圖 。在命名修飾上, _cdecl是在函數(shù)名前加一下劃線,比如一個名為 Get_Cdecl的函數(shù),那么在編譯后生成的目標(biāo)文件( *.obj)中它的名字為 _Get_Cdecl;而 _stdcall則除了在函數(shù)名的前面加上一下劃線外,還將在函數(shù)名的后面加上“ ”符,在“ ”符后再加上函數(shù)參數(shù)的字節(jié)數(shù), 如 Get_stdcall函數(shù)經(jīng)過命名修飾后名字為 _Get_Stdcall13,13就表示參數(shù)共有 13個字節(jié) (4個字節(jié)的整數(shù) ,1個字節(jié)的字符, 8個字節(jié)的雙精度數(shù) )。 在 Windows 9x系統(tǒng)中通過“ x_x_x2”這些消息解決它們對應(yīng)的消息的問題。 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 15 圖 控制消息屬性頁 QuickVXD將 VXD的所有消息劃分在兩個消息頁,即 Control Messages和 Windows 95 Control Messages中。 Device Initialization 0rder 確定 Windows95/ 98對 VxD設(shè)備裝載的順序,如果與其他的 VxD設(shè)備無關(guān).可以使用 VTOOLSD提供的缺省值 UNDEFINED_INIT_ORDER,如果必須在虛擬設(shè)備 XXX之后加載,可用 XXX_INIT_ORDER+1,如果須在設(shè)備 XXX之前加載可 XXX_INIT_ORDERl。 Vxdload程序是用來加載可動態(tài)加載的 VXD。如 VC的路徑為 “C:\ PROGRAl\ MICR0Sl\ VC98” 。不過自從Compuware公司 推出 VTOOLSD后,一切就明朗了。 1)派生類 VHAKDwAKElNT。如果硬件資源中包括內(nèi)存資源,則需要進行內(nèi)存映射操作,將物理地址轉(zhuǎn)換為線性地址,否則無法進行內(nèi)存操作。消息序號由開發(fā)者自己定義,消息序號既可以從 1開始,也可以從更大的自然數(shù)開始,但不能夠大于 65535,多個消息映射的消息序號既可以是連續(xù)的,也可以是間隔的。 VXD模式驅(qū)動程序需要直接處理 VPICD、 DMA、內(nèi)存管理 等工作的細(xì)節(jié); WDM模式驅(qū)動程序?qū)χ袛嗵幚怼?DMA控制、內(nèi)存管理等提供了很好的封裝,只需調(diào)用相應(yīng)的 DISPATCH例程即可完成對硬件的換作。所有的 WDM模式驅(qū)動程序必須包含一個 DriverEntry例程,PNP設(shè)備管理器通過在 WDM模式驅(qū)動程序查詢該例程來對設(shè)備進行諸如驅(qū)動程序初始化,資源分配等工作。 (9) 第七節(jié) Vxd 的局限性 VxD技術(shù)只適用于 Windows 9x操作系統(tǒng) , Windows NT不支持此項技術(shù) , 而是采用更為先進的面向?qū)ο蟮尿?qū)動程序模型 , 例如 Windows 20xx就采用了一種基于 NT的驅(qū)動程序模型WDM。 windows 9x使用的是 Ring 0和 Ring 3兩個保護級。它的基本編程方法是:用VTo01sD自帶的 QMtckVxD程序快速生成程序框架,在 VC++ Brland C++中打開此框架的工程文件,并寫進特定的處理代碼,編譯后就可得到所需的 VxD文件。而其他則根據(jù)用戶的要求在 VXD 中對應(yīng)應(yīng)用程序給出的 IO 控制指令進行響應(yīng)處理。 //輸入緩沖區(qū)的大小 PVOID dioc_OutBuf。其參數(shù) p 指向一個 IOCTLPARAMS 結(jié)構(gòu)的指針。 對動態(tài) VxD來說,最重要的消息有三個: SYS_DYNAMIC_DEVICE_INIT、SYS_DYNAMIC_DEVICE_EXIT以及 W32_DEVICEIOCONTROL,消息代號分別是 lBh、lCh、 23h。 配置管理程序服務(wù):它把 VxD與 Windows即插即用于 系統(tǒng)連接起來。還有許多其它 VxD,如即插即用于系統(tǒng)和文件系統(tǒng)驅(qū)動程序.這種 VxD聯(lián)合體形成了 Windows的基本操作系統(tǒng)。 VxD不能改變 CS、 DS、 ES和 SS段寄存器 VxD能夠 使用 FS和 GS段寄存器。 (4)VxD_IDATA段:保護模式初始化數(shù)據(jù)段 [可選 ]。該段包含 VxD系統(tǒng)控制過程、回調(diào)過程、服務(wù)和 VxD的 API接口函數(shù)。為了使開發(fā)的應(yīng)用程序也能直接處理硬件,就需要編寫專 門的 VxD。 windows98僅使用了 Ring 0和 Ring 3兩個保護級。 VMM是通過 VxD的設(shè)備描述符塊 DDB(Device Descriptor Block)來識別不同設(shè)備的。所以說采集電壓或電流的值就可以間接的測量間歇值的大小。 對于自動進給機構(gòu)和自動調(diào)節(jié)系統(tǒng)來講,就是要在放電加工過程中,不但要使工具電極和工件隨著工件材料被不斷蝕除而相對進給,以形成一定形狀和尺寸的工件,而且還要不斷調(diào)節(jié)進給速度甚至停止進給或退回,以保持恰當(dāng)?shù)姆烹婇g歇。通過各種比較展現(xiàn)出使用 VToolsD工具和 Visual C++工具開發(fā)虛擬設(shè)備的驅(qū)動程序的特點和優(yōu)缺點,并且進一步設(shè)想使用 PC7422 12位 32路 A/D 100K轉(zhuǎn)換卡在計算機上模擬微進給過程中的電壓數(shù)據(jù)采集過程。數(shù)據(jù)采集是機床數(shù)控和機電控制的基礎(chǔ)和關(guān)鍵。必須使工具電極及時進給補償,否則放電過程勢必由于間歇過大而停止。 (4) 具體的測量環(huán)節(jié)可被電極間歇的電壓、電流、或電壓及電流三種方式取得信號。 VxD 運行于 Ring0 級上,其在內(nèi)存中的位置也是處在操作系統(tǒng)保護的空間之內(nèi)的。 (1) 第二節(jié) Vxd 簡介 從 Intel80386開始的系列微處理器提供了真正的 32位運算 , 并提供了四個特權(quán) (Privilege)級即保護級 , 可在三種模式下工作 : 實模式、保護模式和 V86模式。因此,那些需要直接對硬件訪問的硬件驅(qū)動程序就必須在核心級執(zhí)行。為便于多個應(yīng)用程序可同時使用該資 源, vxD的實質(zhì)就是運行在 Ring 0上的 32位動態(tài)庫,通過加載具有 Ring 0最高優(yōu)先級的 VxD,使運行于 Ring 3上的應(yīng)用程序能夠以一定的接口控制 VxD的動作,從而達(dá)到控制系統(tǒng)的目的。 (3)VxD_ICODE段:保護模式下的初始化代碼段 (可選 )。 除實模式初始化段以外,所有代碼和數(shù)據(jù)段均為 32位平坦內(nèi)存模式的保護模式段,這就是說定義在保護模式段中的過程和數(shù)據(jù)均為 32位的偏移量。由于 VxD運行在系統(tǒng)的 Ring 0級上,擁有與操 作系統(tǒng)同等的級別,所以我們可利用它來支持硬件設(shè)備的管理。借助這些 VMM服務(wù), VxD能控制對 I/ O端口的訪問。 2 Vxd 消息處理 VxD的操作基于寄存器,所以一般用匯編語言編寫,它的關(guān)鍵部分是一個和普通窗口的消息處理過程 WndProc相類似的控制過程,不同之處在于它的處理對象是系統(tǒng)發(fā)來的控制消息。 CreateFile 函數(shù)的第一個參數(shù)必須為 \\.\ name,這里 name 表示 VXD的名字。 //指向 VXD 的 DDB 結(jié)構(gòu) DWORD dioc_IOCtlCode。 //設(shè)備句柄 DWORD dioc_ppdb。 (11) 第五節(jié) Vxd 常用開發(fā)工具 微軟為驅(qū)動程序的開發(fā)提供了設(shè)備驅(qū)動程序工具箱 (DDK),基于匯編語言的編程方式和許多 VMM服務(wù)都使用寄存器的調(diào)用方式,確實非常難學(xué),沒有深厚的匯編語言和硬件基礎(chǔ)很難在短時間里開發(fā)出自己的 VxD。 通過 VxD作中介,可使 DOS TSR、 Winl6應(yīng)用程序、 win32應(yīng)用程序之間產(chǎn)生協(xié)作,可打破 win32應(yīng)用程序 4GB獨立線性地址空間帶來的限制等。Windows 9x使用 32位保護模式可安裝文件系統(tǒng) (IFS),由可安裝文件系統(tǒng)管理器(IFSManager)協(xié)調(diào)對文件系統(tǒng)和設(shè)備的訪問,它接收以 Win32 API函數(shù)調(diào)用形式向系統(tǒng)發(fā)出的文件 I/ O請求,再將請求轉(zhuǎn)給文件系統(tǒng)驅(qū)動程序 FSD,由它調(diào)用低級別的 IOS系統(tǒng)實現(xiàn)最終訪問。 VXD模式驅(qū)動程序和 wDM驅(qū)動程序的主要差異如下 : (1)支持的 Windows版本不同。 (4)系統(tǒng)資源分配方式不同。 ?門定制消息映射 define IOCTL_PCICFG_GETCFG\ CTL_CODE(FILE_DEVICE_UNKOWN,0x801,METHOD_NEITHOR,FILE_ANY_ACCESS) 在使用 CTL_CODE消息宏定制消息映射時,一定要設(shè)置正確的參數(shù)。 VXD驅(qū)動程序根 據(jù)設(shè)備類型使用硬件設(shè)備的 DEVlCElD和 VENDOND來查找硬件設(shè)備。 ( 3)定制消息處理 VTOOLSD工具為 I/ O端口、中斷、 DMA等提供了功能完善的封裝類來支持 VXD驅(qū)動程序的工作。 6)調(diào)用 hook成員函數(shù),在此函數(shù)之后可以調(diào)用 physicalUnmask成員函數(shù)保證中斷不被屏蔽。 (1) 第二節(jié) 環(huán)境參數(shù)設(shè)置問題 VTOOLSD ,如 按照系統(tǒng)所設(shè)置的參數(shù),系統(tǒng)不能很正常的運行。 第三節(jié) VTOOLSD 的工具程序 Infedit程序是用來編輯 INF文件的, INF文件是用來安裝驅(qū)動程序的。此屬性頁對話框包括 Device Parameters (設(shè)備參數(shù) )對話框、 API(應(yīng)用程序接口 )對話框、 VxDServices(VxD服務(wù) )對話框、Control Message(控制消息 )對話框、 Windows 95 Control Message(Windown 95 控制消息 )對話框、 0utPut Files(文件輸出 )對話框、 Classes(C++類 )類屬性頁。在指定廠商應(yīng)用程序入口( Vendor Specific Application Entry Points)多選框中可以鉤選是否利用 DPMI( DOS Proteced Mode Interface)分別提供 V86程序或保護模式程序到 VXD的入口點。增加這些消息(這些消息都是或退出,或撤消,或終止某某)的目的是為了解決在 Windows 沖突問題:以前這些對應(yīng)的推出類消息(比如對應(yīng)于剛才舉的例子的 CLOSE_VM_NOTIFY2的 CLOSE_VM_NOTIFY消息)仍然按照初始化的順序傳送給各個 VXD,這就產(chǎn)生了問題。 圖 VXD服務(wù)屬性頁 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開發(fā) 17 在編輯框中填入你的 VXD要 提供給其他 VXD的 C語言原型服務(wù)函數(shù),然后單擊“ Add”按鈕即將該服務(wù)函數(shù)添加到下面的列表框中。當(dāng)我們在設(shè)備參數(shù)頁中指定了 VXD的名字后, QuickVXD自動缺省根據(jù) VXD的名字生成這三個
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1