wince 文件系统API

1.创建、打开文件 CreateFile()

除了可以打开文件和设备以外,CreateFile还可以打开诸如硬盘,flash卡之类的存储卷。要打开一个卷,必须传递它的名字,并在后面附上/Vol: 。举例来说:要打开一个由目录名Storage Card 代表的CF卡,可以按一下方式:

h= CreateFile(TEXT(“//Storage Card//vol:”),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NOMAL,NULL);

CreateFile函数将返回一个句柄,可以用这个句柄来传递IO控制命令(IOCTL)给挂载这个卷的文件系统驱动程序。

2.读取和写入 ReadFile();读取数据从文件指针所指向的文件中的偏移位置处开始。在读取完成后,文件指针将被调整,调整值取决于所读取的字节数。在调用ReadFile时,如果文件指针指向文件结尾处,也会成功读取,但是读入字节数为0。

写入操作WriteFile();数据被写入由文件指针指向的偏移处,且在每次写入操作后文件指针都会被更新,使得文件指针指向的位置在写入的数据之后。

3.移动文件指针 DWORD SetFilePointer(HANDLE hFile,LONG lDistanceToMove,PLONG lDistanceToMoveHigh,DWORD dwMoveMethod);在文件指针移动完成后,SetFilePointer返回指向新位置处的文件指针。若只想得到当前文件指针指向的位置而不想去改变它,可以方便的通过调用SetFilePointer,并将偏移设置为0,最后一个参数设置为FILE_CURRENT,即可得到当前文件指针位置。

4.关闭文件 BOOL CloseHandle(HANDLE hObject);

5.截短文件。要设置文件结尾,在文件中移动文件指针至你想作为末尾的位置,然后调用BOOL SetEndOfFile(HANDLE hFile);必须对文件有些权限。

要确保所有数据都已经被写入存储设备,而不仅仅是被放置在缓冲区里,可以调用下面的函数:BOOL FlushFileBuffers(HANDLE hFile);注意不要太频繁的调用这个函数,将数据写入flash或是磁盘是比较缓慢的,因此过多的调用这个函数会影响系统的性能。

If you called CreateFileMapping to create a file-mapping object for hFile, you must first call UnmapViewOfFile to unmap all views and call CloseHandle to close the file-mapping object before you can call SetEndOfFile.

6.获得文件信息 DWORD GetFileAttributes(LPCTSTR lpFileName);在WinCE6中,FILE_ATTRIBUTE_TEMPORARY 和FILE_ATTRIBUTE_DIRECTORY一起使用时,表示该目录是一个二级存储设备的根目录,如PC 卡,硬盘驱动器,或是网络共享文件夹。

应用程序可以调用下面的函数来改变文件的属性:SetFileAttributes();

WinCE还支持其他一些获得文件信息的函数。但这些函数要求提供一个文件句柄而不是文件名,因此必须事先调用CreateFile来打开文件。

7.文件时间。标准的win32 API 支持3中文件时间:创建时间,最后访问时间,最后修改时间。但这种支持局限于底层的文件系统。许多文件系统部支持所有的3种文件时间。查询一个文件的文件时间的一种方式是调用下面等这个函数:GetFileTime();返回FILETIME结构体类型。由GetFileTime和其他一些函数返回的FILETIME结构体,可以通过调用下面的函数来转变成可读的数据:

BOOL FileTimeToSystemTime();一个要告诫的是,文件时间是以世界协调时间(UTC,格林威治时间)格式存储的。但是当你将文件时间转化成可以阅读的时间格式时,调用FileTimeToLocalTime().也可以调用SetFileTime()来手动设置文件时间。记住,文件时间必须是UTC时间,不能是当地时间。

8.文件大小和其他信息。GetFileSize()得到文件大小信息。

另外还有一个函数GetFileInformationByHandle,它返回以上函数提供的所有信息,甚至更多。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Windows CE API手册》是Blitz Force团队继 Xarm和ROS开发系统之后之后又一重要作品。本手册收录并翻译了 MSDN Library for Visual Studio 2008 超过2000 个API函数和宏的资料信息。分为:系统函数、COM函数、驱动函数、网络通信4个大类,有以下特点: 01. 资料权威。本手册收录的绝大多数函数和宏都取自微软MSDN,权威性比较有保证。部分从DLL找到的API在MSDN尚未介绍。我们收录这部分MSDN未介绍的API主要是认为这些API似乎比较重要,希望有熟悉这部分API使用的高手能够多多指教。 02. 分类详细。本手册根据API函数的功能进行了详细分类。通过分类 方便读者查找和扫描学习API,提高学习效率。 03. 提供编程示例和开发经验。本手册取自Xarm开发系统,我们已经用Xarm系统试验了1000个左右的函数,在试验获得的经验教训都保存在本手册。用户使用本手册除了可以查询函数的使用方法,还可以参考我们提供的心得体会加深对API的理解。查看Xarm编写的函数示例可以到我们的联系站点下载Xarm 1.0。 04. 不断更新。本手册1.0版在2008年4月底完成后,发给Blitz Force队员做内部测试并收到很多反馈意见,本次发布的是2.0版。我们还会继续努力发布新的版本,根据新系统增加新函数,不断完善旧函数说明,提供更多示例。希望使用本手册的朋友如果发现手册有错误或者有好的改进意见给我们发邮件或者留言。《作者简介》有详细的联系方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值