[發明專利]一種通過文件名獲取文件句柄的方法及系統無效
| 申請號: | 200910079826.0 | 申請日: | 2009-03-12 |
| 公開(公告)號: | CN101576908A | 公開(公告)日: | 2009-11-11 |
| 發明(設計)人: | 孫蕾 | 申請(專利權)人: | 北京中星微電子有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京天悅專利代理事務所 | 代理人: | 田 明;任曉航 |
| 地址: | 100083北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通過 文件名 獲取 文件 句柄 方法 系統 | ||
1.一種通過文件名獲取文件句柄的方法,包括以下步驟:
步驟一,判斷文件句柄handle的分配方式是否是動態分配文件handle,如果是則轉入步驟二,否則轉入步驟三;
步驟二,直接為文件分配handle,解析文件名得到文件格式類型,記錄文件對應的formatcode,獲取文件handle,轉入步驟五;
步驟三,采取靜態的分配方式先分配文件handle,直到分配完畢;
步驟四,對文件handle進行匹配,解析文件名得到文件格式類型,記錄文件對應的formatcode,獲取文件handle;
步驟五,返回獲取的文件handle,處理結束。
2.如權利要求1所述的一種通過文件名獲取文件句柄的方法,其特征是,步驟三中,采取靜態的分配方式分配文件handle的方法包括以下步驟:
1)在磁盤的當前目錄下findfirst,即查找當前目錄下第一個文件或文件夾,第一次進入時默認為磁盤的根目錄;
2)如果沒有找到文件,則說明該路徑下沒有任何文件,則直接返回;如果找到了文件,則跳至步驟3);
3)判斷找到的文件是否是文件夾,如果是文件夾,轉到步驟4),否則,跳至步驟5);
4)為找到的文件夾分配handle,并將該handle保存下來,作為該文件夾下所有文件和文件夾的parenthandle,然后進入該文件夾,即當前目錄為該文件夾,跳至步驟1);
5)為找到的文件分配handle,并根據文件名記錄其對應的formatcode,記錄該文件的parenthandle,跳至步驟6);
6)查找當前目錄下的下一個文件或文件夾,如果找到了,則跳至步驟3),否則跳至步驟7);
7)判斷當前目錄是否在子目錄中,如果當前目錄沒有在子目錄中,說明在根目錄下,則表明分配完畢,直接返回,否則跳至步驟8);
8)返回上一級目錄,查找上一級目錄下的下一個文件或文件夾,跳至步驟2)。
3.如權利要求2所述的一種通過文件名獲取文件句柄的方法,其特征是,步驟四中,對文件handle進行匹配的方法包括以下步驟:
(1)判斷文件名是否包含絕對路徑,如果是則轉入步驟(2),否則轉入步驟(7);
(2)解析包含絕對路徑的文件名;
(3)獲取第i級路徑名,i初始值為1;
(4)匹配handle分配表中的路徑名和parenthandle,得到該路徑名對應的handle,該路徑名對應的handle即為下一級路徑名的parenthandle;
(5)偏移存放包含絕對路徑的文件名的字符串指針,獲取文件名或下一級路徑名;
(6)判斷是否文件名,如果是則匹配handle分配表中的文件名和parenthandle,得到與該文件名對應的handle,處理結束;否則i=i+1,跳至步驟(3);
(7)解析包含相對路徑的文件名,得到與該文件名對應的handle。
4.如權利要求3所述的一種通過文件名獲取文件句柄的方法,其特征是:步驟(7)中,首先進入根目錄,獲取根目錄的handle信息,然后進入下一級目錄,獲取其parenthandle與其上一級目錄的handle對應的下一級目錄的handle信息,直到獲取該文件所在的目錄的handle信息,匹配handle分配表中的文件名和parenthandle,得到與該文件名對應的handle,返回獲取的文件handle。
5.如權利要求1、2、3或4所述的一種通過文件名獲取文件句柄的方法,其特征是:在解析文件名時,采用的是通過將獲取的文件名或文件夾名處理為字符串然后再進行固定長度字符串比較的方法。
6.如權利要求1、2、3或4所述的一種通過文件名獲取文件句柄的方法,其特征是:在匹配路徑和文件名時,通過路徑或文件名和其對應的parenthandle兩項標準進行匹配。
7.如權利要求5所述的一種通過文件名獲取文件句柄的方法,其特征是:在匹配文件夾和文件名時,通過文件夾或文件名和其對應的parenthandle兩項標準進行匹配。
8.一種通過文件名獲取文件句柄的系統,包括以下裝置:
分配方式判斷模塊,用于判斷系統中文件handle的分配方式,如果是動態分配的方式,則轉入動態分配模塊處理,否則轉入靜態分配模塊處理;
動態分配模塊,用于為文件動態分配handle,解析文件名得到文件格式類型,記錄文件對應的formatcode,直接返回獲取的文件handle;
靜態分配模塊,用于以靜態的方式分配文件handle,即在系統初始化時就將磁盤上所有的文件和文件夾進行handle分配;
靜態匹配模塊,用于對文件handle進行匹配,解析文件名得到文件格式類型,記錄文件對應的formatcode,返回獲取的文件handle。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中星微電子有限公司,未經北京中星微電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910079826.0/1.html,轉載請聲明來源鉆瓜專利網。





