今天尝试用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()来得到句柄,自己一直没有小心看.