64位应用程序达到2GB时,CreateFileMapping失败

时间:2014-10-06 07:23:19

标签: c# winapi memory memory-management

我有一个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);

1 个答案:

答案 0 :(得分:0)

_byteCount应为DWORD类型,以避免uint溢出。