我有一個程序正在創建一個映射文件,它能夠做到這一點很好,m_hMap = CreateFileMapping(m_hFile,0,dwProtect,0,m_dwMapSize,NULL);
,但是當後續函數調用到MapViewOfFile(m_hMap,dwViewAccess,0,0,0)
時,我得到一個錯誤代碼8,這是ERROR_NOT_ENOUGH_MEMORY,或錯誤字符串「錯誤沒有足夠的存儲可用於處理此命令」。Visual C++ 6 MFC MapViewOfFile返回錯誤代碼8
所以我不完全理解MapViewOfFile爲我做了什麼,以及如何解決這種情況。
一些數字...
m_dwMapSize = 453427200
dwProtect = PAGE_READWRITE;
dwViewAccess = FILE_MAP_ALL_ACCESS;
我想我的頁面szie是65536
或2^16
您試圖映射的文件有多大? – Tomdarkness 2013-03-22 15:14:09
大約500MB – nagates 2013-03-22 15:15:27
我假設你打算只映射第一個〜432MB的文件,對吧?無論如何,你的過程是否有足夠的虛擬內存來映射文件?默認情況下,32bit窗口的限制爲2GB。 – Tomdarkness 2013-03-22 15:23:06