
Windows开发
yyfzy
专注信息安全技术与开发。
展开
-
Win7下,获取文件夹C:\Users 大小时遇到的问题
最近在负责数据备份产品的时候遇到一个问题:在Win7系统下,用户选择“C:\Users” 作为备份源,发现产品UI上显示的文件夹大小和负责备份的Service进程里的文件夹大小不一致。 起先,我怀疑是获取文件夹大小的方法不对,但是查看代码之后发现代码是一样的。都是枚举文件夹和文件大小,然后累加。后来才发现,UI进程获取该文件夹大小的时候,很多目录不能访问;而Service进程能访问该目录原创 2013-03-27 10:35:55 · 2003 阅读 · 0 评论 -
Windows下USB磁盘开发系列一:枚举系统中U盘的盘符
有个时候我们需要区分系统磁盘中,哪些是U盘,这样我们在访问的时候可以区别对待。具体方法如下: 1,调用GetLogicalDrives()返回系统盘符标记位 API GetLogicalDrives()将返回一个DWORD类型的标记值,将其转换成二进制之后,为1的位标识对应的盘符在系统中存在。比如返回值为:11100,则表示盘符C:D:E:在系统中存在,因为最低位对应盘符A。 2,调用Get原创 2013-10-25 16:43:06 · 5148 阅读 · 1 评论 -
Windows下USB磁盘开发系列二:枚举系统中所有USB设备
上篇 《Windows下USB磁盘开发系列一:枚举系统中U盘的盘符》介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘)。 主要调用的API如下: 1,调用SetupDiGetClassDevs()获取指定设备类型的句柄; 2,调用SetupDiEnumDeviceInfo()枚举设备信息; 3,调用SetupDiGetDeviceRegistry原创 2013-11-14 16:00:35 · 6758 阅读 · 1 评论 -
Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息
前面我们介绍了枚举系统中的U盘盘符、以及获取USB设备的信息。有个时候我们不仅仅需要获取U盘盘符(路径),而且需要获取该U盘的硬件信息,比如厂商、friendly name、描述等等。那么我们可以通过前面两个方法,把U盘盘符和设备信息匹配起来吗?答案是肯定的,下面介绍具体的实现方法。 具体方法如下: 1,获取U盘盘符(路径); 2,对U盘路径调用CreateFile()获取U盘句柄;原创 2013-11-14 16:58:39 · 4305 阅读 · 1 评论 -
Windows下USB磁盘开发系列四:SetupDiEnumDeviceInterfaces()返回ERROR_NO_MORE_ITEMS 259错误代码的原因
在调用API SetupDiEnumDeviceInterfaces()查询USB设备接口的时候,遇到了259的错误代码:ERROR_NO_MORE_ITEMS。开始不得其解,后来仔细察看了相关的msdn,发现是我调用SetupDiGetClassDevs()的参数使用错了。 定义如下: HDEVINFO SetupDiGetClassDevs( _In_opt_ const GUID原创 2013-11-15 11:30:43 · 7821 阅读 · 0 评论 -
Windows下,实现不使用缓存的文件读写方式
最近项目和USB硬件相关,硬件开发板作原创 2013-12-13 15:22:12 · 5814 阅读 · 1 评论