我正在尝试为 winpcap 编写一个 C# 包装器。当我尝试调试时,它会发出警告 PInvokeStackImbalance,但 pcap_findalldevs 可以完成它的工作。但我认为这会导致程序中的内存泄漏。顺便说一句,这段代码来自networkminer,我没有写这个只是为了理解winpcap和包装。
这是WinPcap中的方法
int pcap_findalldevs( pcap_if_t ** alldevsp, char * errbuf )
这是我在我的程序中写的
[DllImport("wpcap.dll", CharSet = CharSet.Ansi)]
internal static extern int pcap_findalldevs(ref IntPtr alldevsp, StringBuilder errbuf);
i = IntPtr.Zero;
StringBuilder stringBuilder;
stringBuilder = new StringBuilder(256);
if (pcap_findalldevs(ref i, stringBuilder) == -1)
return null;