8.1 The Windows CE File System(文件系統)
1 Creating and Opening Files (創建和打開文件)
HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //NULL
DWORD dwCreationDistribution,
DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
dwDesiredAccess--訪問權限 GENERIC_WRITE|GENERIC_READ
dwShareMode---其他線程的訪問權限 FILE_SHARE_READ|FILE_SHARE_WRITE
返回:INVALID_HANDLE_VALUE 失敗
可調用 GetLastError 來確定文件先前是否存在
2 Reading and Writing (讀取和寫入)
BOOL ReadFile( HANDLE hFile,LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped); //NULL
WriteFile
3 Moving the File Pointer (移動文件指針)
DWORD SetFilePointer( HANDLE hFile ,LONG lDistanceToMove,
PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod);
dwMoveMethod ---偏移量的基準 FILE_BEGIN ,FILE_CURRENT,FILE_END
查詢當前的文件指針位置
nCurrFilePtr=SetFilePointer(hFile,0,0,FILE_CURRENT);
4 Closing a File (關閉文件)
BOOL CloseHandle(HANDLE hObject);
5 Truncating a File (截斷文件)
將文件指針移動到想讓文件結束的位置,再調用函數
BOOL SetEndOfFile (HANDLE hFile);
6 Getting File Infomation(獲取文件信息)
DWORD GetFileAttributes(LPCTSTR lpFileName);
返回:FILE_ATTRIBUTE_COMPRESSED| INROM | DIRECTORY |TEMPORARY
BOOL SetFileAttributes(LPCTSTR lpFileName,DWORD dwFileAttributes);
7 File Times (文件時間)
BOOL GetFileTime (HANDLE hFile,
LPFILETIME lpCreationTime, //創建時間
LPFILETIME lpLastAccessTime, //最近一次訪問時間
LPFILETIME lpLastWriteTime); //最近一次寫入時間
將GetFileTime函數和其他函數返回的 FILETIME 結構可以轉換爲可以閱讀的信息 SYSTEMTIME 結構:
BOOL FileTimeToSystemTime(const FILETIME *lpFileTime,
LPSYSTEMTIME lpSystemTime);
提供正確的時區
BOOL FileTimeToLocalFileTime ( const FILETIME *lpFileTime,
LPFILETIME lpLocalFileTime);
手工設置
SetFileTime();
8 File Size (文件大小)
DWORD GetFileSize (HANDLE hFile, LPDWORD lpFileSizeHigh);