[发明专利]一种通过文件名获取文件句柄的方法及系统无效
| 申请号: | 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.vipzhuanli.com/pat/books/200910079826.0/2.html,转载请声明来源钻瓜专利网。





