描述:
代码如下:
HANDLE hFile = CreateFile(lpszFileName,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
return FALSE;
ULARGE_INTEGER uliSize;
uliSize.LowPart = GetFileSize(hFile, &uliSize.HighPart);
m_hFileMapping= CreateFileMapping(hFile,NULL,PAGE_READONLY, uliSize.HighPart, uliSize.LowPart, "BigFile");
if (m_hFileMapping==NULL)
{
CloseHandle(hFile);
return FALSE;
}
m_pbFile = (LPBYTE)MapViewOfFile(m_hFileMapping, FILE_MAP_READ, 0, 0, 0);
if (m_pbFile == NULL)
{
CloseHandle(hFile);
CloseHandle(m_hFileMapping);
return FALSE;
}
m_pbData = m_pbFile;
m_llSize = (LONGLONG)uliSize.QuadPart;
CloseHandle(hFile);
有时候映射文件时MapViewOfFile出错,并不是每次出错!!!
请大家帮我解决!!!!!!!!!!!!!!
解决方案1:
通过多次测试,单独作了一个小程序,映射600M文件都没问题,而上面的偶尔会出现问题,不知道是什么原因造成的,我估计不是映射本省的问题!!