HeapSetInformation在x64上失败

时间:2020-07-15 07:54:13

标签: c windows exception winapi heap

我的代码在x86上运行得很好,但是一旦切换到x64,我会从第一个参数(堆句柄)的ntdll中获得读取访问异常。

if(!HeapSetInformation((HANDLE)heap->base, HeapCompatibilityInformation, &lfrag, sizeof(lfrag)))

heap-> base是一个与HANDLE大小相同的UINT_PTR。

lfrag只是ULONG lfrag = 2;

我在调用之前创建一个堆,像这样:heap->base = (UINT_PTR)HeapCreate(0, 0, 0);

有人知道这是什么原因吗?我希望我的程序与x64兼容。

也许我不能在x64上启用低碎片化功能?不过,我在MSDN上什么都看不到

0 个答案:

没有答案