void ddd(HANDLE hFile,...)
{....
SetFilePointer(hFile, lDistanceToMove, NULL, FILE_BEGIN);
.......
}
HANDLE hFile=CreateFile(......);//GENERIC_READ|GENERIC_WRITE
DWORD dwFileSize=GetFileSize(hFile,NULL);
HANDLE hFileMap=CreateFileMapping(.....);//PAGE_READWRITE
PVOID pvFile=MapViewOfFil(hFileMap,FILE_MAP_WRITE,0,0,0);//FILE_MAP_WRITEddd(pvFile,....);
执行到SetFilePointer的时候,为什么总是出错,错误是无效句柄.
{....
SetFilePointer(hFile, lDistanceToMove, NULL, FILE_BEGIN);
.......
}
HANDLE hFile=CreateFile(......);//GENERIC_READ|GENERIC_WRITE
DWORD dwFileSize=GetFileSize(hFile,NULL);
HANDLE hFileMap=CreateFileMapping(.....);//PAGE_READWRITE
PVOID pvFile=MapViewOfFil(hFileMap,FILE_MAP_WRITE,0,0,0);//FILE_MAP_WRITEddd(pvFile,....);
执行到SetFilePointer的时候,为什么总是出错,错误是无效句柄.
解决方案 »
- 介绍几本windows网络编程的书?
- VC中有没有类似C#中DataSet这种的离线数据集?
- 如何禁用服务的某些启动类型
- 数据库和文本,哪一个更快
- 我用VC++写了一个DLL,如何把它使用在网页中呢。在线等。
- 如何用程序将一个屏保文件设成当前默认屏保?
- 关于写数据库的问题!原来用SQL SERVER2000,现在用ACCESS,但问题出现了,数据库大小疯长....?
- 一个真正想学VC的人的肺腑之言
- 求救!关于网络播放器
- 如何编程实现动态改变CPropertyPage在CPropertySheet中的ICON?都来看看,有好处的.
- 为什么不能继承CMenu类?
- warning C4244: “return”: 从“WPARAM”转换到“int”,可能丢失数据
Windows Me/98/95: File handles that are used to create file mapping objects must not be used in subsequent calls to file I/O functions, such as ReadFile and WriteFile. In general, if a file handle is used in a successful call to the CreateFileMapping function, do not use that handle until you close the corresponding file mapping object.
{....
SetFilePointer(hFile, lDistanceToMove, NULL, FILE_BEGIN);
.......
}
中,可看到是有效地址,指向一EXE,开始字节MZ.....;