• 何生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径?


    大家都知道,在 Windows 系统中文件名的路径最大值是 MAX_PATH。例如:
    Windows XP 系统,对文件名的长度进行测试: 
    (1) 在分区 E: 的根目录新建一个文件,其文件名最大长度为: 255。---全路径长度>>> 258
    (2) 在分区 E: 子目录 Program Files 中新建一个文件,其文件名的最大长度为: 242。 ---全路径长度>>>259
    在 WinCE 系统下,也有一定的限制。
    另外,如果试图将在 E: 根目录新建的最大文件名长度的文件,是无法复制到子目录中的。复制时提示: 指定的文件名无效或太长。

    如何会产生一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径呢?
    其实这个问题很简单,想来大家都知道 USB 或 SD 设备在 Windows XP 等系统与在 WinCE 系统中被识别后的根目录是不会的。
    在 Windows XP等桌面系统中,一般是根目录,如:F:
    在 Windows CE 系统中,SD 卡一般是如下的目录:Storage Card 或 Storage Card 2 或其它; USB 一般是如:Hard Disk 的目录。

    利用 Windows XP等系统与 WinCE 系统的不同,来完成生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径。
    将在 Windows XP 系统的某个根目录中生成的最长文件名,复制到 SD/USB。然后将此 SD/USB 插入 WinCE 系统,此时刚才复制的长文件名的文件,其它文件的全路径将会大于 MAX_PATH(260)。

    出现这种情况,可能会导致部分使用 MAX_PATH 做为文件名全路径最大值的程序产生越界访问的情况出现,导致程序出现异常。

  • 相关阅读:
    安装pykeyboard模块
    Windows Defender Antivirus Service经常性出现占用CPU厉害
    Xpath 语法笔记
    通过docker部署rocketmq双主双从集群
    解决提取Mybatis多数据源公共组件“At least one base package must be specified”的问题
    设计模式-单例模式
    通过阳历生日计算星座,阴历生日,生辰八字,生肖五行
    设计模式-抽象工厂模式
    设计模式-工厂方法模式
    常用的MD5工具类
  • 原文地址:https://www.cnblogs.com/91program/p/5201009.html
Copyright © 2020-2023  润新知