日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發明專利]一種用于解除文件占用的方法及裝置有效

專利信息
申請號: 201210361922.6 申請日: 2012-09-25
公開(公告)號: CN102902765A 公開(公告)日: 2013-01-30
發明(設計)人: 張輝 申請(專利權)人: 北京奇虎科技有限公司;奇智軟件(北京)有限公司
主分類號: G06F17/30 分類號: G06F17/30
代理公司: 北京市德權律師事務所 11302 代理人: 劉杰
地址: 100088 北京市西城區新*** 國省代碼: 北京;11
權利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關鍵詞: 一種 用于 解除 文件 占用 方法 裝置
【說明書】:

技術領域

發明涉及計算機技術領域,特別是涉及一種用于解除文件占用的方法。本發明還涉及一種用于解除文件占用的裝置。

背景技術

解除文件占用是目前一些安全軟件提供的一項功能。由于文件在被進程調用后,將不能手動進行諸如刪除改名等操作。利用這個功能可以解除進程對文件的占用,從而讓用戶可以執行刪除文件、更改名稱、移動位置等操作。

現有視窗(window)操作系統下,一種解除文件占用的方法原理如下:如果文件由某個進程打開,那么這個進程就擁有了它的句柄。使用函數ZwQuerySystemInformation(?)來枚舉句柄,將每一個句柄都用DuplicateHandle進行復制,確定句柄屬于哪個文件,如果是要找的文件,就將句柄拷貝,然后使用DuplicateHandle去關閉占用的句柄。

上述的方法在實踐中會遇到兩處難點。第一,在對打開的命名管道(named?pipe)處理的句柄調用ZwQueryInformationFile(?)的時候,調用線程會等待?pipe?中的消息,而pipe中卻可能沒有消息,也就是說,調用ZwQueryInformationFile(?)的線程實際上永久性地掛起了。第二,在拷貝句柄后,兩個句柄(我們進程的和打開文件進程的)將會指向同一個目標文件,從而文件當前的輸入輸出模式、在文件中的位置以及其它與文件相關的信息就會由兩個進程來共享。這時,甚至只是讀取文件(復制句柄或者原來句柄)都會引起讀取位置的改變,從而破壞了打開文件程序的正常運行。

雖然,上述的第一個難點可以通過如下方式解決,即目標文件的獲取不用在挑選句柄的主線程中進行,而是啟動獨立的線程并設置一個超時時間來避免掛起。但是這種方法較為麻煩,而且效率低。上述的第二個難點,需要用停止占用文件進程的線程、拷貝文件或者重新啟動占用文件的進程等方式來解決。但是這些方法不能用于許多情形,比如要在運行的系統中拷貝注冊表文件,用這種方法就不會成功。因而使用上還是有局限性。

發明內容

鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的用于解除文件占用的方法和相應的用于解除文件占用的裝置。

依據本發明的一個方面,提供了一種用于解除文件占用的方法,包括:

獲取待解除占用的目標文件的所有文件句柄;

獲取所述待解除占用的目標文件的所有文件句柄各自所屬的進程私有句柄表;

將所述目標文件的所有文件句柄的文件句柄對象由各自的進程私有句柄表中移除;

將所述目標文件的所有文件句柄的文件句柄對象的引用計數從系統中清零。

可選的,所述獲取待解除占用的目標文件的所有文件句柄包括:

獲取待解除占用的目標文件的路徑;

枚舉系統打開的所有文件句柄;

獲取所有文件句柄對應文件的具體路徑,并與待解除占用的目標文件的路徑進行匹配;

將匹配成功的文件句柄作為待解除占用的目標文件的句柄。

可選的,所述枚舉系統打開的所有文件句柄包括:

枚舉系統的所有進程;

獲取每一進程的私有句柄表;

集合所有進程的私有句柄表,獲得所有進程打開的句柄;

在所述所有進程打開的句柄中找出所有的文件句柄。

可選的,所述枚舉系統的所有進程至少包括如下步驟:

通過遍歷活動進程鏈表中每一個進程在系統內核中所表示的數據結構,實現對活動進程的枚舉,獲得進程表。

可選的,所述枚舉系統打開的所有文件句柄包括,

獲取當前進程;

獲取該當前進程的私有句柄表;

遍歷該當前進程的私有句柄表與其它進程的私有句柄表形成的句柄表鏈,獲得其它進程;

對所有獲得的進程獲取其私有句柄表;

集合所獲取的私有句柄表,獲得所有進程打開的句柄;

在所述所有進程打開的句柄中找出所有的文件句柄。

可選的,所述在所述所有進程打開的句柄中找出所有的文件句柄包括:

通過內存偏移找到各進程打開的每一句柄的句柄對象的對象頭;

在對象頭中讀取對象類型數據或者對象類型索引;

根據對象頭中對象類型數據或者對象類型索引指向的對象類型數據判斷句柄類型;

篩選出類型為文件句柄的句柄。

可選的,將文件句柄對象由進程的句柄表中移除方式包括路徑擦除或路徑更改。

下載完整專利技術內容需要扣除積分,VIP會員可以免費下載。

該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/201210361922.6/2.html,轉載請聲明來源鉆瓜專利網。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產權局專利說明書;

2、支持發明專利 、實用新型專利、外觀設計專利(升級中);

3、專利數據每周兩次同步更新,支持Adobe PDF格式;

4、內容包括專利技術的結構示意圖流程工藝圖技術構造圖

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關于我們 尋求報道 投稿須知 廣告合作 版權聲明 網站地圖 友情鏈接 企業標識 聯系我們

鉆瓜專利網在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: 午夜在线看片| 农村妇女精品一二区| 欧美一区二区三区爽大粗免费| 狠狠色狠狠色合久久伊人| 午夜看大片| 国产精品日韩一区二区| 午夜激情在线播放| 欧美日韩国产一二三| 中文字幕视频一区二区| 欧美激情片一区二区| 精品特级毛片| 国产精品天堂网| 精品日韩久久久| 91热精品| 激情久久精品| 国产乱码精品一区二区三区介绍| 91精品啪在线观看国产| 亚洲乱子伦| 国产精品久久久久久久久久不蜜月 | 日韩一区二区福利视频| 亚洲欧美v国产一区二区| 国产在线精品一区| 99精品少妇| 在线播放国产一区| 97精品国产97久久久久久| 丰满少妇高潮惨叫久久久一| 精品福利一区| xxxx在线视频| 国产又黄又硬又湿又黄| 欧美日韩国产精品一区二区| 91偷拍网站| 国产一区日韩一区| 亚洲精品一区中文字幕| 99久久国产综合精品麻豆| 精品国产伦一区二区三区免费| 国产真裸无庶纶乱视频 | 欧美日韩九区| 欧美一区二区伦理片| 国产一区影院| 亚洲区日韩| 人人要人人澡人人爽人人dvd| 91精品色| 狠狠色丁香久久综合频道 | 国产精品v欧美精品v日韩| 国产视频二区| 国产精品久久久久久久久久不蜜臀| 99久久精品一区| 欧美精选一区二区三区| 91精品久| 在线观看v国产乱人精品一区二区| 一区二区91| 亚洲国产欧美国产综合一区| 亚洲国产精品一区在线| 人人玩人人添人人澡97| 欧美大片一区二区三区| 97人人模人人爽人人喊0| 中文天堂在线一区| 91精品国产综合久久福利软件| 欧美日韩一级黄| 国产精品二区在线| 亚洲精品乱码久久久久久写真| 欧美精品中文字幕在线观看| 国产清纯白嫩初高生视频在线观看| 欧美日韩激情一区| 伊人欧美一区| 91午夜在线观看| 九色国产精品入口| 精品久久久影院| 亚洲精品20p| 一区二区久久精品| 欧美日韩一区二区三区69堂| 午夜电影院理论片做爰| 国产精品一二三区免费| 亚洲精品乱码久久久久久写真| 日韩av在线中文| 日韩av在线播| 亚洲欧美日韩在线看| 日韩av电影手机在线观看| 国产精品亚洲第一区| 精品久久久影院| 国产精品免费观看国产网曝瓜| 国产精品国产亚洲精品看不卡15|