GetAdaptersInfo详解

    技术2022-05-19  22

    GetAdaptersInfo                                                                //如果执行成功返回 ERROR_SUCCESS  也就是NO_ERROR

    DWORD GetAdaptersInfo(  __out    PIP_ADAPTER_INFO pAdapterInfo,                      // IP_ADAPTER_INFO 的结构体  __inout  PULONG pOutBufLen                                     //   ULONG  上面结构的缓冲区大小);2000  xp  估计以后的版本都能用这个函数

     

     

    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; time_t                  LeaseExpires; } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO; *Next 指向链表中的下一个结构体 ComboIndex AdapterName                  适配器 的名字 估计也就网卡的名字?

    Description                      适配器 的描述

    AddressLength                地址的长度 按字节计算的

    Address                           适配器  的硬件地址 字节数组

    Index                                适配器 的说明吧

    Type                                 适配器 的类型          必须是下列之一       在IPIfCons.h. 里面被定义                                    MIB_IF_TYPE_OTHERMIB_IF_TYPE_ETHERNETMIB_IF_TYPE_TOKENRINGMIB_IF_TYPE_FDDIMIB_IF_TYPE_PPPMIB_IF_TYPE_LOOPBACKMIB_IF_TYPE_SLIP DhcpEnabled                     DHCP 是否可用

     

    CurrentIpAddress             现在的IP地址

     

    IpAddressList                    IP地址列表吧

     

    GatewayList

     

    DhcpServer                       

     

    HaveWins                          BOOL

     

    PrimaryWinsServer

     

    SecondaryWinsServer

     

    LeaseObtained

     

    LeaseExpires

     

     

    vc++6.0  还要下这个库文件。

    #pragma comment(lib, "IPHLPAPI.lib")

    安装成功后,  Tools->options->directories->将Iphlpapi头文件所在文件夹新建路径 此时会出现问题,说'PMIB_ICMP_EX' : undeclared identifier 解决办法是: 将新建的Iphlpapi.h的路径移动到所include的所有头文件的最前面, 编译通过...... 据说可以  本人没有测试。

    最新回复(0)