Chapter 8 File and Registry(文件和註冊表)

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);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章