首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WinXP:说道说道那些小小的覆盖图标

关于Overlay Icon

WinXP发布的时候,你会发现系统中随处可见的小覆盖图标(Overlay Icon):

> 一个小箭头。大家应该最熟悉这个图标:它是一个快捷方式的图标。

> 一只手心向上的手掌。这个是文件共享的图标。如果一个文件夹带有这个图标则是一个文件共享的根目录。

> 一个向下的蓝色箭头。这个表示即将写入到CD的意思。

> 一对蓝色的旋转箭头。这个图标可能会让人感到困惑。它表示一个项目在离线时可用(你需要启用离线文件夹才能看到它)。

> 一个黑色的时钟。这个着实让人难以理解。它的意思是文件已经被归档到磁带并且访问它需要很长的时间。

即使你的系统上没有安装Hierarchical Storage Management,但是你还是会看到上面提到的黑色时钟图标,这真是让人捉摸不透。这通常是某些应用程序(一般是安装程序)没有正确的检查错误代码导致的。

在上面的代码片段中,开发者并没有检查GetFileAttributes的返回值。如果GetFileAttributes调用失败,它会返回0xFFFFFFFF。如果此时你不对这个错误代码进行检查的话,你将会设置所有可能的文件属性到目标文件上,这些属性就包括FILE_ATTRIBUTE_OFFLINE。

而FILE_ATTRIBUTE_OFFLINE这个属性会告诉资源管理器:这个文件已归档至磁带。

总结

老老实实的检查所有API的返回值是很难的,我的做法是:检查你觉得需要检查的API调用。随着年龄的增加,你需要检查的API可能会越来越多。所以,为了让开发者写代码舒服一点,我建议将异常纳入到API返回机制中。

但是这又会显著降低程序的可预测性和性能:这事儿,挺难的!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200114A0S1S800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券