今天在写一个关于ARP程序的时候,发现PacketGetAdapterNames函数,获取所有网卡适配器名称,既然返回false,非常奇怪。
这个函数就是通过读取注册表的方面,读取网卡的名称,怎么会失败呢?我是在XP的系统下试的,找了半天原因才发现,是由于
WinPcap的版本与开发包的版本不一样的原因。
WinPcap开发包的版本是4.0.2,而系统里的WinPacp是4.1.2,于是我将WinPacp卸载重装4.0.2,这时PacketGetAdapterNames
就返回true了。