多网卡,每个网卡多个IP

tanjiaxiang_2005 2005-07-02 01:59:12
请问:
如何获得多个卡?
每个卡如果有多个IP,那么我怎么可以得到每个IP的广播IP??
本人试着使用了GetAdaptersInfo来获取,但是不能解决一个网卡有多个IP的问题?

大家发言啊!!!!!!!

...全文
189 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hb_wxy 2005-09-12
  • 打赏
  • 举报
回复
mark
过客猫2022 2005-07-08
  • 打赏
  • 举报
回复
PMIB_IPADDRTABLE 你查查它的定义,里面有
tanjiaxiang_2005 2005-07-02
  • 打赏
  • 举报
回复
constantine(飘遥的安吉儿),每个IP的掩码怎么获得呢?
tanjiaxiang_2005 2005-07-02
  • 打赏
  • 举报
回复
好的。我调试!
constantine(飘遥的安吉儿),谢谢
constantine 2005-07-02
  • 打赏
  • 举报
回复
#include "iphlpapi.h"
typedef DWORD(CALLBACK * PGAINFO)(PIP_ADAPTER_INFO,PULONG);//GetAdaptersInfo
typedef DWORD(CALLBACK * PGIAT)(PMIB_IPADDRTABLE,PULONG,BOOL);//GetIpAddrTable


int GetIP(TStringList *List)
{
AnsiString Result="";
List->Clear();
PGAINFO pGAInfo;
HINSTANCE hInst;
ULONG ulSize=0;
PGIAT pGIAT;
PMIB_IPADDRTABLE pIPTable=NULL;
hInst=LoadLibrary("iphlpapi.dll");
if(!hInst)
{
return 0;
}

pGIAT=(PGIAT)GetProcAddress(hInst,"GetIpAddrTable");
pGIAT(pIPTable,&ulSize,TRUE);//获得缓冲区大小
pIPTable=(PMIB_IPADDRTABLE)new(char[ulSize]);
pGIAT(pIPTable,&ulSize,TRUE);
for(int i=0;i<(int)pIPTable->dwNumEntries;i++)
{
Result=(AnsiString)(LOWORD(pIPTable->table[i].dwAddr)&0x00FF)+"."+
(AnsiString)(LOWORD(pIPTable->table[i].dwAddr)>>8)+"."+
(AnsiString)(HIWORD(pIPTable->table[i].dwAddr)&0x00FF)+"."+
(AnsiString)(HIWORD(pIPTable->table[i].dwAddr)>>8);
List->Add(Result);
}
return List->Count;
}

试试看

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧