【发布时间】:2017-01-26 23:10:09
【问题描述】:
我正在寻找一种在我的 Xamarin.Mac 应用程序中使用 SCNetworkInterfaceCopyAll 的方法。
我已经导入了
[DllImport("/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration")]
public static extern IntPtr SCNetworkInterfaceCopyAll();
然后我通过调用var array = NSArray.ArrayFromHandle<NSObject>(pointer) 得到一个数组。
但无法弄清楚如何从 SCNetworkInterface 的输出数组中获取值。我试图将其编组为
[StructLayout(LayoutKind.Sequential)]
public struct Test
{
IntPtr interface_type;
IntPtr entity_hardware;
}
然后调用Marshal.PtrToStructure<Test>(i.Handle),但它给出的是随机指针而不是有意义的值。
【问题讨论】:
-
你有幸从 SCNetworkInterfaceCopyAll() 中提取值吗?
-
@AnoopVaidya,不幸的是,我不记得我是否设法修复它。
-
没问题,我解决了。将其发布为答案
标签: xamarin interop marshalling dllimport xamarin.mac