使用 c# 和非托管 DLL 时出现堆集信息错误

HeapSetInformation error using c# and unmanaged DLL

本文关键字:错误 信息 DLL 使用      更新时间:2023-10-16

我正在从 c# 和非托管 DLL 制作包装器,除了当我调用内部使用 HeapSetInformation 的函数时,一切都正常工作。堆集信息每次返回 0。在可视化C++应用程序中调用的同一函数正常工作。由于某种原因,在 C# 中无法初始化 LFH。无法修改非托管 dll,我没有源代码。有人知道如何解决问题吗?测试环境是Windows 7 x64和Visual Studio 2013 Framework 4.5

此致敬意通用格

没有

简单的方法可以摆脱这种束缚。DLL 调用 HeapSetInformation 是错误的。

最好的解决方案是修复 DLL,或停止使用 DLL。如果这是不可能的,那么你可以在HeapSetInformation上安装一个代码钩子,并安排它不做任何事情,然后返回TRUE