欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù)的制作方法

文檔序號(hào):6481120閱讀:538來源:國(guó)知局
專利名稱:32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù),即 InforGuard在64位操作系統(tǒng)中,實(shí)現(xiàn)實(shí)時(shí)阻斷中4吏用的一種技術(shù)。
背景技術(shù)
在基于WEB服務(wù)器或應(yīng)用服務(wù)器(以下簡(jiǎn)稱為服務(wù)器)的網(wǎng)絡(luò)應(yīng) 用中,需要對(duì)部署在服務(wù)器上的文件進(jìn)行保護(hù),基于這一目標(biāo),在 Windows平臺(tái)上使用文件過濾驅(qū)動(dòng)機(jī)制,對(duì)操作文件的事件進(jìn)行過濾 與驗(yàn)證;但隨著計(jì)算機(jī)硬件的發(fā)展,64位操作系統(tǒng)也越來越普及, InforGuard也4,出了 Windows系統(tǒng)上的64^f立驅(qū)動(dòng)。
目前,在此領(lǐng)域采用的方案為
1. 靜態(tài)加載64位驅(qū)動(dòng)
該方法是使用*. inf安裝文件,將驅(qū)動(dòng)文件安裝到Windows上去, 然后系統(tǒng)啟動(dòng)時(shí)就會(huì)加此驅(qū)動(dòng)。
2. 動(dòng)態(tài)加載驅(qū)動(dòng)
該方法是在程運(yùn)行階-歐,通過系統(tǒng)API ( CreateService 、 StartService、 DeleteService等),進(jìn)4亍系統(tǒng)馬區(qū)動(dòng)的動(dòng)態(tài)力口載和卸載; 但是現(xiàn)有的動(dòng)態(tài)加載方式都是32位的程序加載32位的驅(qū)動(dòng),64位的 程序加載64位的驅(qū)動(dòng),還沒有32位的程序加載64位的驅(qū)動(dòng)。
32位的程序加載64位的驅(qū)動(dòng)其主要是存在如下問題
1. 驅(qū)動(dòng)無法加載
驅(qū)動(dòng)的動(dòng)態(tài)加載,比靜態(tài)加載要靈活一些,所以動(dòng)態(tài)加載應(yīng)該還 是很廣范的。但是由于64位和32位的程序中,指針的位數(shù)據(jù),以及 一些基本類型的數(shù)據(jù)占有的位數(shù)是不一樣的,所以32位的程序在加載 64位的驅(qū)動(dòng)的過程中,也就是在和驅(qū)動(dòng)握手時(shí),由于數(shù)據(jù)類型不能統(tǒng) 一,導(dǎo)致握手失敗,從而加載不上驅(qū)動(dòng)。
2. 向驅(qū)動(dòng)中寫數(shù)據(jù)
同樣,由于數(shù)據(jù)位數(shù)的不統(tǒng)一,在和驅(qū)動(dòng)通訊時(shí),傳輸?shù)臄?shù)據(jù), 就會(huì)存在丟失數(shù)據(jù)或者亂碼,還有可能藍(lán)屏。

發(fā)明內(nèi)容
本發(fā)明的目的就是針對(duì)上述的不足,提供了一種利用數(shù)據(jù)序列化 技術(shù)的、解決驅(qū)動(dòng)無法加載也無法向驅(qū)動(dòng)中寫數(shù)據(jù)的問題的基于32程 序與64位驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù)。一種32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù),利用數(shù)據(jù)序列化 技術(shù)實(shí)現(xiàn),數(shù)據(jù)序列化,就是將數(shù)據(jù)按一定的協(xié)議,將數(shù)據(jù)格化為通 用性較好的字符串。將數(shù)據(jù)序列化之后,就可以用于兩種不同位數(shù)程 序之間的通ifl 。
具體的實(shí)現(xiàn)步驟是這樣的
第一步定義通訊協(xié)議,即定義發(fā)送方和接收方都能解析的協(xié)議; 此過程是在系統(tǒng)的設(shè)計(jì)階段應(yīng)該完成,最后體現(xiàn)在代碼中協(xié)議格式的 定義。
第二步序列化數(shù)據(jù),將數(shù)據(jù)序列化為字符串;此過程是在系統(tǒng) 運(yùn)行階段執(zhí)行,最后體現(xiàn)在InforGaurdMa程序和驅(qū)動(dòng)通訊模塊 FileDriver.dl 1中。
第三步通過系統(tǒng)API和驅(qū)動(dòng)通訊,通過調(diào)用系統(tǒng)函數(shù) DeviceIoControl和馬區(qū)動(dòng)通ifl,體J見在FileDriver. dll的源石馬中。
第四步判斷是否符合協(xié)議,在解析序列化數(shù)據(jù)之前,先驗(yàn)證數(shù) 據(jù)是否要解析的數(shù)據(jù)并且驗(yàn)證數(shù)據(jù)的完整性,如果是,則進(jìn)入第五步; 體J見在InforGuard中的GuardFileDriver.sys中。
第五步驅(qū)動(dòng)解析序列化的數(shù)據(jù),將序列化的字符串,解析成數(shù) 據(jù),方4更驅(qū)動(dòng)中使用此數(shù)據(jù),最后體現(xiàn)于 InforGaurd中的 GuardFileDriver.sys中。
序列化就是將數(shù)據(jù),按照一定的格式轉(zhuǎn)化成具有通用性的字符串。
本發(fā)明提供的32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù)具有如下 優(yōu)點(diǎn)
1. 通用性好
釆用序列化的字符串方式,而字符串無論是32位程序,還是64 位程序,都是通用的,所以這種技術(shù)的通用性比較強(qiáng)。
2. 實(shí)現(xiàn)簡(jiǎn)單
只要傳輸方和接收方都遵守相同的協(xié)議,就能完成通訊;其中傳 輸方只需要按照協(xié)議將數(shù)據(jù)序列化成字符串,而接收方只需要按照協(xié) 議將序列化的字符串解析為數(shù)據(jù);所以程序在實(shí)現(xiàn)上很容易實(shí)現(xiàn)。
32位程序和64位驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù),帶來的收益是,提高了程序 的通用性(32位的程序可以不用修改就可以加載64位驅(qū)動(dòng),而32位 程序在32位和64位系統(tǒng)中都可以運(yùn)行),相應(yīng)的也就縮短了開發(fā)周期。


圖l為本發(fā)明實(shí)施例的流程圖。
具體實(shí)施例方式
一種32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù),具體的實(shí)現(xiàn)步驟 是這樣的
本流程開始于步驟101:定義通訊協(xié)議,即定義發(fā)送方和接收方 都能解析的協(xié)議;此過程是在系統(tǒng)的設(shè)計(jì)階段應(yīng)該完成,最后體現(xiàn)在 代碼中協(xié)議格式的定義。比如 <監(jiān)控目錄l排除路徑ll排除路徑21: | 排除文件ll排除文件2 1: l排除類型l排除類型l: l模模糊過濾ll模糊 過濾l: l排除新建事件l排除刪除事件l排除修改事件l排除重命名。這 就是我們定義的通訊協(xié)議,協(xié)議也就是一種格式定義的種說明。
然后進(jìn)入步驟102:序列化數(shù)據(jù),將數(shù)據(jù)序列化為字符串;此過 程是在系統(tǒng)運(yùn)行階段執(zhí)行,最后體現(xiàn)在InforGaurdMa程序和驅(qū)動(dòng)通訊 模塊FileDriver. dll中。序列化,也就是將程序中的數(shù)據(jù)結(jié)構(gòu),按照 協(xié)議的格式轉(zhuǎn)化成字符串。比如就InforGuard中的策略結(jié)構(gòu)轉(zhuǎn)為字符 串。
再進(jìn)入步驟103:通過系統(tǒng)API和驅(qū)動(dòng)通訊,通過調(diào)用系統(tǒng)函數(shù) DeviceloContro丄和驅(qū)動(dòng)通i凡,體J見在FileDriver. dll的源石馬中。j口 HA亂E hDriver = CreateFile (completeDeviceName, GENERIC —READ | GENERIC_WRITE, 0, 隱L, OPEIEXISTING, FILE_ATTRIBUTE —NORMAL,亂U ;
DeviceloControl (hDriver, GuardFi1eDriver — setPo1icy, (void*) pPathlnfo, len,亂L, 0, &nb,亂L) 這兩個(gè)調(diào)用,是通訊的的關(guān)鍵調(diào)用。
然后進(jìn)入步驟104:判斷是否符合協(xié)議,在解析序列化數(shù)據(jù)之前, 先驗(yàn)證數(shù)據(jù)是否要解析的數(shù)據(jù)并且驗(yàn)證數(shù)據(jù)的完整性,如果是,則進(jìn) 入步驟1 052;如果否,則進(jìn)入步驟1051返回失敗,結(jié)束流程。體現(xiàn) 在InforGuard中的GuardFileDriver. sys中。即在角罕才斤十辦"i義之前,先 驗(yàn)證一下協(xié)議是否正確,是否符合定義的格式。
步驟1052:驅(qū)動(dòng)解析序列化的數(shù)據(jù),將序列化的字符串,解析成 數(shù)據(jù),方便驅(qū)動(dòng)中使用此數(shù)據(jù),最后體現(xiàn)于InforGaurd中的 GuardFUeDriver. sys中。此過程,和序歹'J化相對(duì)應(yīng),也就是反序歹寸 化;按照定義的格試解析接收的字符串。然后進(jìn)入步驟1 05 3返回成功, 結(jié)束流程。
權(quán)利要求
1. 一種32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù),其特征在于包括如下步驟第一步定義通訊協(xié)議,即定義發(fā)送方和接收方都能解析的協(xié)議;第二步序列化數(shù)據(jù),將數(shù)據(jù)序列化為字符串;第三步通過系統(tǒng)API和驅(qū)動(dòng)通訊,通過調(diào)用系統(tǒng)函數(shù)DeviceIoControl和驅(qū)動(dòng)通訊;第四步判斷是否符合協(xié)議,驗(yàn)證數(shù)據(jù)是否要解析的數(shù)據(jù)并且驗(yàn)證數(shù)據(jù)的完整性,如果是,則進(jìn)入第五步;第五步驅(qū)動(dòng)解析序列化的數(shù)據(jù),將序列化的字符串,解析成數(shù)據(jù)。
全文摘要
本發(fā)明是一種32位的程序與64位的驅(qū)動(dòng)傳輸數(shù)據(jù)技術(shù),即InforGuard在64位操作系統(tǒng)中,實(shí)現(xiàn)實(shí)時(shí)阻斷中使用的一種技術(shù)。包括如下步驟第一步定義通訊協(xié)議,即定義發(fā)送方和接收方都能解析的協(xié)議;第二步序列化數(shù)據(jù),將數(shù)據(jù)序列化為字符串;第三步通過系統(tǒng)API和驅(qū)動(dòng)通訊,通過調(diào)用系統(tǒng)函數(shù)DeviceIoControl和驅(qū)動(dòng)通訊;第四步判斷是否符合協(xié)議,驗(yàn)證數(shù)據(jù)是否要解析的數(shù)據(jù)并且驗(yàn)證數(shù)據(jù)的完整性;第五步驅(qū)動(dòng)解析序列化的數(shù)據(jù),將序列化的字符串,解析成數(shù)據(jù)。本發(fā)明通過數(shù)據(jù)序列化解決了驅(qū)動(dòng)無法加載和無法向驅(qū)動(dòng)中寫數(shù)據(jù)的問題,具有很好的效果。
文檔編號(hào)G06F9/46GK101546278SQ20091001510
公開日2009年9月30日 申請(qǐng)日期2009年5月7日 優(yōu)先權(quán)日2009年5月7日
發(fā)明者春 劉, 劉宗福, 劉毅楓, 進(jìn) 王, 磊 石, 黃三偉 申請(qǐng)人:山東中創(chuàng)軟件商用中間件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
正蓝旗| 大同县| 迁安市| 塘沽区| 玛沁县| 根河市| 万安县| 曲松县| 澎湖县| 芦山县| 连山| 漳州市| 吴江市| 宜兰县| 龙井市| 和平区| 蒲江县| 花垣县| 扶余县| 高尔夫| 白城市| 图木舒克市| 确山县| 乡宁县| 沂南县| 涪陵区| 皮山县| 甘洛县| 磐安县| 桦川县| 德惠市| 吐鲁番市| 乐安县| 甘肃省| 九江县| 武威市| 镇远县| 穆棱市| 鄂托克前旗| 赤壁市| 黄龙县|