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