gpt4 book ai didi

xamarin - 在 Xamarin.Mac 中导入 native 方法

转载 作者:行者123 更新时间:2023-12-03 02:05:50 25 4
gpt4 key购买 nike

我正在寻找一种使用 SCNetworkInterfaceCopyAll 的方法在我的 Xamarin.Mac 应用程序中。我已经导入了

[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)但它给出的是随机指针而不是有意义的值。

最佳答案

您可以使用System.Net.NetworkInformation 提供的信息吗? NetworkInterface(或者您实际上需要一个SCNetworkInterface吗?)

Xamarin.Mac 示例:

foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
Console.WriteLine(nic.GetPhysicalAddress());
}

关于xamarin - 在 Xamarin.Mac 中导入 native 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com