已知DllImport(...,PreserveSig = false)在Mono中工作吗?

时间:2013-08-30 20:32:06

标签: c# .net mono dllimport

DllImport(...,PreserveSig = false)属性是否已知在 Mono 中工作?

我在C:

中有一个这样声明的导出的dll函数
HRESULT MyFunction(INTPTR* psomehandle);

在C#方面我声明如下:

[DllImport("MyDll", PreserveSig=false)]
IntPtr MyFunction();

这在MS.NET中按预期工作,但在Mono中崩溃,因为'psomehandle'作为NULL传递。


以下声明不会导致崩溃,但如果从MyFunction返回E_FAIL,则不会引发异常。

[DllImport("MyDll", PreserveSig=false)]
void MyFunction(out IntPtr somehandle);

我在Windows上尝试使用Mono 2.6.7和2.10.9。

0 个答案:

没有答案