我有一个64位应用程序WPF/C#,它使用CreateFileMapping()分配内存一旦我达到2GB限制,函数就会返回错误1455。
我的机器有32GB的RAM,页面文件被禁用。是不是CreateFileMapping(win32 API)只能在32位上工作?
_byteCount = (uint)((_stride) * height * ((short)bpp).NumberOfBytes());
ColorFileMapping = CreateFileMapping(new IntPtr(-1), IntPtr.Zero, 0x04, 0, _byteCount, null);
_byteCount应为DWORD类型,以避免uint溢出。