지도 파일을 만드는 프로그램이 있습니다. 그 파일은 m_hMap = CreateFileMapping(m_hFile,0,dwProtect,0,m_dwMapSize,NULL);
이라고 할 수 있지만, 후속 함수 호출을 MapViewOfFile(m_hMap,dwViewAccess,0,0,0)
으로 호출하면 오류 코드가 나타납니다. ERROR_NOT_ENOUGH_MEMORY 또는 ERROR_NOT_ENOUGH_MEMORY 8 "이 명령을 처리 할 수있는 저장소가 부족합니다."오류 문자열입니다.Visual C++ 6 MFC MapViewOfFile이 오류 코드 8을 반환합니다.
그래서 MapViewOfFile이 나를 위해 무엇을하는지, 상황을 어떻게 해결할 수 있는지 완전히 이해하지 못하고 있습니다.
몇 가지 숫자가 ...
m_dwMapSize = 453427200
dwProtect = PAGE_READWRITE;
dwViewAccess = FILE_MAP_ALL_ACCESS;
이 내 페이지 szie는
65536
2라고 생각합니다^매우 큰 파일의 경우
매핑하려는 파일의 크기는 어느 정도입니까? – Tomdarkness
약 500mb – nagates
파일의 첫 번째 ~ 432MB 만 매핑하려고한다고 가정합니다. 어쨌든, 프로세스에 파일을 매핑하는 데 사용할 수있는 충분한 가상 메모리가 있습니까? 제한은 기본적으로 32 비트 창에서 2GB입니다. – Tomdarkness