CreateFileForMapping的函数在win98下如何改变文件的修改日期
CreateFileForMapping的函数在win98下怎么改变文件的修改日期
在win98下面我的程序中的一段代码,可是当程序执行到最后一句即CloseHandle(tMapObject);时我的文件的修改日期改变了,变成执行这条语句时的时间。而在winxp下面不变,这个时间好像不应该改变啊。请问是什么问题,那位大侠告诉一下,多谢!
HANDLE tFile=CreateFile(fileName,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,0,NULL);
if (tFile == INVALID_HANDLE_VALUE)
{
return FALSE;
}
unsigned long lfs=0;
/************************************************************/
//BY CAI JIAN 2004-5-13
DWORD fs=GetFileSize(tFile,&lfs);
m_dwFileSize = fs;
/************************************************************/
HANDLE tMapObject=CreateFileMapping(tFile,NULL,PAGE_READWRITE,
0,fs,NULL);
LPVOID tView=MapViewOfFile(tMapObject,FILE_MAP_WRITE,0,0,0);
UnmapViewOfFile(tView);
CloseHandle(tFile);
CloseHandle(tMapObject);
------解决方案--------------------
98很久没用了,手头也没有
CreateFile(fileName,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,0,NULL);
--〉
CreateFile(fileName,GENERIC_READ,
0,NULL,OPEN_EXISTING,0,NULL); //?
在win98下面我的程序中的一段代码,可是当程序执行到最后一句即CloseHandle(tMapObject);时我的文件的修改日期改变了,变成执行这条语句时的时间。而在winxp下面不变,这个时间好像不应该改变啊。请问是什么问题,那位大侠告诉一下,多谢!
HANDLE tFile=CreateFile(fileName,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,0,NULL);
if (tFile == INVALID_HANDLE_VALUE)
{
return FALSE;
}
unsigned long lfs=0;
/************************************************************/
//BY CAI JIAN 2004-5-13
DWORD fs=GetFileSize(tFile,&lfs);
m_dwFileSize = fs;
/************************************************************/
HANDLE tMapObject=CreateFileMapping(tFile,NULL,PAGE_READWRITE,
0,fs,NULL);
LPVOID tView=MapViewOfFile(tMapObject,FILE_MAP_WRITE,0,0,0);
UnmapViewOfFile(tView);
CloseHandle(tFile);
CloseHandle(tMapObject);
------解决方案--------------------
98很久没用了,手头也没有
CreateFile(fileName,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,0,NULL);
--〉
CreateFile(fileName,GENERIC_READ,
0,NULL,OPEN_EXISTING,0,NULL); //?