[發明專利]一種通過文件名獲取文件句柄的方法及系統無效
| 申請號: | 200910079826.0 | 申請日: | 2009-03-12 |
| 公開(公告)號: | CN101576908A | 公開(公告)日: | 2009-11-11 |
| 發明(設計)人: | 孫蕾 | 申請(專利權)人: | 北京中星微電子有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京天悅專利代理事務所 | 代理人: | 田 明;任曉航 |
| 地址: | 100083北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通過 文件名 獲取 文件 句柄 方法 系統 | ||
技術領域
本發明屬于計算機信息處理中的數字圖像打印技術領域,具體涉及一種通過文件名獲取文件句柄的方法及系統。
背景技術
PictBridge是由日本照相機影像機器工業協會即CIPA(Camera?&Imaging?Products?Association)設立的一項行業標準,其功能為不使用電腦可直接打印數字圖像。在PictBridge中打印輸出(host)端與相機或手機(device)端之間的文件傳輸不是以文件名為主要依據,而是以文件handle(句柄)作為每個文件的標識,所述的文件handle的是與文件名一一對應的文件索引或編號。然而,在現有的device端的文件系統中,文件是以不同的文件名存在的,并沒有對應的文件handle,所以在用戶選擇了一個或多個需要打印的文件時,需要通過文件名獲取對應的handle。
現有的通過文件名獲取文件handle的方法,多是固定支持采用動態或靜態一種分配handle的模式,并且多是針對本身的文件系統實現的,有一定的局限性,兼容性方面也存在問題。
具體來說,靜態分配是指在系統初始化時就將磁盤上所有的文件和文件夾進行handle分配,這樣在使用文件handle進行打印時,就直接進行搜索匹配,缺點是不夠靈活,當磁盤內容發生變化時,需要重新分配handle。
動態分配是指在系統初始化時并不對磁盤上所有的文件和文件夾進行handle的分配,而是在用戶選擇了需要進行打印的文件時,分配文件handle,然后進行打印,這種方式是相對靈活并且效率比較高的方式,缺點是用戶需要以絕對路徑的文件名進行文件handle的分配,如果以相對路徑進行訪問的話有可能出現重復分配的情況。
發明內容
針對現有技術中存在的缺陷,本發明的目的是提供一種通過文件名獲取文件句柄的方法及系統。該方法及系統能夠在PictBridge模塊中為用戶提供一個兼容性強、通用的通過文件名獲取文件handle的方法,便于用戶移植和應用。
為達到以上目的,本發明采用的技術方案是:一種通過文件名獲取文件句柄的方法,包括以下步驟:
步驟一,判斷文件handle(句柄)的分配方式是否是動態分配文件handle,如果是則轉入步驟二,否則轉入步驟三;
步驟二,直接為文件分配handle,解析文件名得到文件格式類型,記錄文件對應的formatcode(格式代碼),獲取文件handle,轉入步驟五;
步驟三,采取靜態的分配方式先分配文件handle,直到分配完畢;
步驟四,對文件handle進行匹配,解析文件名得到文件格式類型,記錄文件對應的formatcode,獲取文件handle;
步驟五,返回獲取的文件handle,處理結束。
進一步,步驟三中,所述采取靜態的分配方式分配文件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)。
更進一步,步驟四中,對文件handle進行匹配的方法包括以下步驟:
(1)判斷文件名是否包含絕對路徑,如果是則轉入步驟(2),否則轉入步驟(7);
(2)解析包含絕對路徑的文件名;
(3)獲取第i級路徑名,i初始值為1;
(4)匹配handle分配表中的路徑名和parenthandle,得到該路徑名對應的handle,該路徑名對應的handle即為下一級路徑名的parenthandle;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中星微電子有限公司,未經北京中星微電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910079826.0/2.html,轉載請聲明來源鉆瓜專利網。





