Wince中的文件操作使用傳統(tǒng)的基于句柄的方法;考試大提示:文件通過(guò)返回句柄的函數(shù)打開(kāi);讀取和寫(xiě)入函數(shù)被傳遞句柄以便指出要操作的函數(shù);數(shù)據(jù)在文件中讀取和寫(xiě)入的偏移量由系統(tǒng)維護(hù)的文件指針來(lái)指出;最后當(dāng)讀取和寫(xiě)入完成時(shí),應(yīng)用程序通過(guò)關(guān)閉文件句柄來(lái)表示操作的結(jié)束。
正文
創(chuàng)建和打開(kāi)文件
HANDLE CreateFile( LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTE lpSecurityAttribute,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttribute,
HANDLE hTemplateFile
);
lpFileName---要打開(kāi)或創(chuàng)建的文件名。文件名稱應(yīng)包括完全指定的路徑,對(duì)于沒(méi)有路徑信息的文件名,系統(tǒng)默認(rèn)為在對(duì) 象存儲(chǔ)庫(kù)的根目錄下。
dwDesiredAccess---指出所需的訪問(wèn)權(quán)限。允許使用的標(biāo)志是用來(lái)請(qǐng)求 對(duì)文件進(jìn)行讀取訪問(wèn)的GENERIC_READ和對(duì)文件進(jìn)行寫(xiě)入訪問(wèn)的GENERIC_WRITE。要獲取文件的讀取/寫(xiě)入訪問(wèn)必須同時(shí)傳遞兩個(gè)參數(shù)。
dwShareMode---指定了可以給于其他進(jìn)程的訪問(wèn)權(quán)限??梢詾镕ILE_SHARED_READ/FILE_SHARED_WRITE。
lpSecurityAttribute---Wince忽略該參數(shù),設(shè)為NULL。
dwCreationDisposition---確定如何打開(kāi)或創(chuàng)建文件??扇∪缦轮担?BR> CREATE_NEW 創(chuàng)建一個(gè)新文件,如果該文件存在,則該函數(shù)將失敗。
CREATE_ALWAYS 創(chuàng)建一個(gè)新文件或截?cái)嘁粋€(gè)現(xiàn)有文件。
OPEN_EXISTING 僅當(dāng)文件存在時(shí)才打開(kāi)文件。
OPEN_ALWAYS 打開(kāi)一個(gè)文件,如果該文件不存在就創(chuàng)建一個(gè)文件。這與CREATE_ALWAYS不同,因?yàn)槿绻募嬖?,它不?huì)將文件截?cái)嗟?字節(jié)。
TRUNCATE_EXISTING 打開(kāi)文件并將其截?cái)嗟?字節(jié)。如果文件不存在,則該函數(shù)失敗。
dwFlagsAndAttribute---定義文件的屬性標(biāo)志。Wince允許的標(biāo)志如下:
FILE_ATTRIBUTE_NORMAL 默認(rèn)屬性,將被任意其他屬性標(biāo)志所覆蓋。
FILE_ATTRIBUTE_READONLY 只讀屬性
FILE_ATTRIBUTE_ARCHIVE 存檔屬性
FILE_ATTRIBUTE_SYSTEM 系統(tǒng)屬性
FILE_ATTRIBUTE_HIDDEN 隱藏屬性
FILE_FLAG_WRITE_THROUGH 對(duì)文件的寫(xiě)操作不會(huì)被存儲(chǔ)到內(nèi)存中
FILE_FLAG_RANDOM_ACCESS 向系統(tǒng)表明該文件將被隨機(jī)訪問(wèn)而不是順序訪問(wèn)。
hTemplateFile---忽略,設(shè)為0。
正文
創(chuàng)建和打開(kāi)文件
HANDLE CreateFile( LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTE lpSecurityAttribute,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttribute,
HANDLE hTemplateFile
);
lpFileName---要打開(kāi)或創(chuàng)建的文件名。文件名稱應(yīng)包括完全指定的路徑,對(duì)于沒(méi)有路徑信息的文件名,系統(tǒng)默認(rèn)為在對(duì) 象存儲(chǔ)庫(kù)的根目錄下。
dwDesiredAccess---指出所需的訪問(wèn)權(quán)限。允許使用的標(biāo)志是用來(lái)請(qǐng)求 對(duì)文件進(jìn)行讀取訪問(wèn)的GENERIC_READ和對(duì)文件進(jìn)行寫(xiě)入訪問(wèn)的GENERIC_WRITE。要獲取文件的讀取/寫(xiě)入訪問(wèn)必須同時(shí)傳遞兩個(gè)參數(shù)。
dwShareMode---指定了可以給于其他進(jìn)程的訪問(wèn)權(quán)限??梢詾镕ILE_SHARED_READ/FILE_SHARED_WRITE。
lpSecurityAttribute---Wince忽略該參數(shù),設(shè)為NULL。
dwCreationDisposition---確定如何打開(kāi)或創(chuàng)建文件??扇∪缦轮担?BR> CREATE_NEW 創(chuàng)建一個(gè)新文件,如果該文件存在,則該函數(shù)將失敗。
CREATE_ALWAYS 創(chuàng)建一個(gè)新文件或截?cái)嘁粋€(gè)現(xiàn)有文件。
OPEN_EXISTING 僅當(dāng)文件存在時(shí)才打開(kāi)文件。
OPEN_ALWAYS 打開(kāi)一個(gè)文件,如果該文件不存在就創(chuàng)建一個(gè)文件。這與CREATE_ALWAYS不同,因?yàn)槿绻募嬖?,它不?huì)將文件截?cái)嗟?字節(jié)。
TRUNCATE_EXISTING 打開(kāi)文件并將其截?cái)嗟?字節(jié)。如果文件不存在,則該函數(shù)失敗。
dwFlagsAndAttribute---定義文件的屬性標(biāo)志。Wince允許的標(biāo)志如下:
FILE_ATTRIBUTE_NORMAL 默認(rèn)屬性,將被任意其他屬性標(biāo)志所覆蓋。
FILE_ATTRIBUTE_READONLY 只讀屬性
FILE_ATTRIBUTE_ARCHIVE 存檔屬性
FILE_ATTRIBUTE_SYSTEM 系統(tǒng)屬性
FILE_ATTRIBUTE_HIDDEN 隱藏屬性
FILE_FLAG_WRITE_THROUGH 對(duì)文件的寫(xiě)操作不會(huì)被存儲(chǔ)到內(nèi)存中
FILE_FLAG_RANDOM_ACCESS 向系統(tǒng)表明該文件將被隨機(jī)訪問(wèn)而不是順序訪問(wèn)。
hTemplateFile---忽略,設(shè)為0。