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