今天嘗試用CreateFileMapping() 映射文件的方法來處理文件,沒想到剛開始就遇到問題了。
簡單描述:
HANDLE hFile= CreateFile(L"\\123.txt",, GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING FILE_ATTRIBUTE_NORMAL, NULL);
...
HANDLE hMapFile =CreateFileMapping( hFile, NULL, PAGE_READWRITE, 0,100, NULL);
if (hMapFile == NULL) {
printf("hMapFile is NULL: last error: %d\n", GetLastError() );
return (2);
}
....
CloseHandle(hFile);
CloseHandle(hMapFile);
錯誤代碼 6,“句柄無效”,調試檢查hFile 句柄,確實有效。
在PC上工作正常的代碼,移植到PDA上會出現這個問題,相當的難受人,唯一的在一個E文網站看到一篇文章有說到,CE,和PPC上不能用CreateFile()得到的句柄作為CreateFileMapping()的輸入,該怎么解決卻沒有看到下文。
問題先放在這了,如果有高手遇到過類似問題,請不吝指教,留下腳印。
仔細看MSDN,原來是自己把自己給忽悠了,上面明明寫了要用CreateFileForMapping()來得到句柄,自己一直沒有小心看.