在VC++6.0中调用GetAdaptersInfo枚举网卡

GetAdaptersInfo函数是ms提供给程序员用来枚举网卡信息API函数,它被封装在MS SDK中,如果你安装了MSSDK在include 和lib文件夹下,可以找到iphlpapi.h 和对应的iphlpapi.lib。很遗憾,在VC6下你不的不面对一系列头文件中变量的声明冲突问题,我暂时还没有找到解决方案。不过有却有个用GetAdaptersInfo的成熟方法,使用动态链接。
 为了使用动态链接,必须保证系统中存在 iphlpapi.dll 这个动态链接库.
 
 GetAdaptersInfo 函数 在MSSDK中声明为
  DWORD  GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG);
  注意在声明此函数类型时,请在类型前加入PASCAL调用约定 __stdcall 
 typedef DWORD  (__stdcall *PGAINFO)(PIP_ADAPTER_INFO,PULONG);
 
 VC6中没有PIP_ADAPTER_INFO的结构,所以你必须自己声明一个,在线搜索MSDN:
 
 typedef struct _IP_ADAPTER_INFO {  
  struct _IP_ADAPTER_INFO *Next;
  DWORD ComboIndex;  
  char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
  char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
  UINT AddressLength;  
  BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
  DWORD Index;
  UINT Type;  
  UINT DhcpEnabled;
  PIP_ADDR_STRING CurrentIpAddress;
  IP_ADDR_STRING IpAddressList;
  IP_ADDR_STRING GatewayList;
  IP_ADDR_STRING DhcpServer;
  BOOL HaveWins;
  IP_ADDR_STRING PrimaryWinsServer;
  IP_ADDR_STRING SecondaryWinsServer;
  time_t LeaseObtained;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值