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。