使用c#和非托管DLL的HeapSetInformation错误

时间:2015-01-19 15:38:12

标签: c# c++ winapi dll

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

祝你好运 GMG

1 个答案:

答案 0 :(得分:1)

这种绑定没有简单的方法。 DLL调用HeapSetInformation是错误的。

最好的解决方案是修复DLL,或者停止使用DLL。如果这不可能,那么您可以在HeapSetInformation上安装代码挂钩并安排它不执行任何操作,并返回TRUE