深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(3)
2009-09-11 00:00:00 来源:WEB开发网函数PacketGetAddressesFromRegistry()从注册表中获取一个适配器的网络地址项。函数原型如下:
static BOOLEAN PacketGetAddressesFromRegistry(
LPCSTR AdapterNameA,
PNPF_IF_ADDRESS_ITEM *ppItems
)
参数 AdapterName是存储适配器名称的字符串。参数ppItems是调用者分配的指向一个地址项指针的指针。函数将把该指针设置为从注册表中获得的地址。
如果函数成功,返回非0值。
函数从注册表中获得一个接口的信息,如IP地址、网络掩码地址与广播地址。用户传递进来的缓冲区将用npf_if_addr结构体填充,每一个都包含一个单独地址的数据。如果缓冲区已满,余下的地址信息将丢弃,因此如果只需要第一个地址,把它的大小设为sizeof(npf_if_addr)即可。
1.4.3 PacketGetNetInfoEx函数
函数PacketGetNetInfoEx获得一个适配器的所有地址信息,函数使用结构体npf_if_addr返回与一个适配器相关联的地址信息。函数原型如下:
BOOLEAN PacketGetNetInfoEx(PCHAR AdapterName,
npf_if_addr* buffer, PLONG NEntries)
参数AdapterName字符串是适配器的名称;参数buffer是一个用户分配的npf_if_addr结构体类型的数组,该函数将填充此数组;参数NEntries是数组的大小(以npf_if_addr类型计算大小),也就是所存储的npf_if_addr结构体的个数。
如果函数成功返回非0值,否则返回0值。
函数从注册表中获得一个接口的信息,诸如IP 地址、网络掩码地址与广播地址。该buffer参数以npf_if_addr结构体来填充,每个结构体都含有一个单独地址的数据。如果buffer满了,余下的地址信息将被丢弃,因此如果只需第一个网络地址,把buffer的大小设为sizeof(npf_if_addr)即可。
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接