WEB开发网
开发学院操作系统windows 2008 深度剖析WinPcap之(七)——获得与释放网络适配器设... 阅读

深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(3)

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示: 函数PacketGetAddressesFromRegistry()从注册表中获取一个适配器的网络地址项,函数原型如下:static BOOLEAN PacketGetAddressesFromRegistry(LPCSTR AdapterNameA, PNPF_IF_ADDRESS_ITEM

函数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)即可。

上一页  1 2 3 4 5 6 7  下一页

Tags:深度 剖析 WinPcap

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接