请问如何获取LAN中DHCP服务器上已分配的ip地址列表(最好对应mac,没有也行)

解决方案 »

  1.   

    好象有DhcpEnumSubnets、DhcpGetSubnetInfo等API函数。
    下面是一个结构
    typedef struct _DHCP_SUBNET_INFO {  DHCP_IP_ADDRESS SubnetAddress;  DHCP_IP_MASK SubnetMask;  LPWSTR SubnetName;  LPWSTR SubnetComment;  DHCP_HOST_INFO PrimaryHost;  DHCP_SUBNET_STATE SubnetState;
    } DHCP_SUBNET_INFO, *LPDHCP_SUBNET_INFO;
    具体的我忘记了你可以查MSDN。
      

  2.   

    还有DhcpGetClientInfo、DhcpGetServer****
    typedef struct _DHCP_IP_ARRAY {  DWORD NumElements;  LPDHCP_IP_ADDRESS Elements;
    } DHCP_IP_ARRAY, *LPDHCP_IP_ARRAY;
    Members
    NumElements 
    Specifies the number of IP addresses in Elements. 
    Elements 
    Pointer to a list of DHCP_IP_ADDRESS values. 
      

  3.   

    DhcpGetServerBindingInfo
    The DhcpGetServerBindingInfo function returns endpoint bindings set on the DHCP server.DWORD DHCP_API_FUNCTION DhcpGetServerBindingInfo(
      DHCP_CONST WCHAR* ServerIpAddress,
      ULONG Flags,
      LPDHCP_BIND_ELEMENT_ARRAY* BindElementsInfo
    );Parameters
    ServerIpAddress 
    [in] Unicode string that specifies the IP address of the DHCP server. 
    Flags 
    [in] Specifies a set of flags describing the endpoints to return.Value Meaning 
    DHCP_ENDPOINT_FLAG_CANT_MODIFY
    0x01 Returns unmodifiable endpoints only. BindElementsInfo 
    [out] Pointer to a DHCP_BIND_ELEMENT_ARRAY structure that contains the server network endpoint bindings. 
    Return Values
    This function returns ERROR_SUCCESS upon a successful call. Otherwise, it returns one of the DHCP Server Management API Error Codes.
      

  4.   

    DhcpGetServerBindingInfo
    The DhcpGetServerBindingInfo function returns endpoint bindings set on the DHCP server.DWORD DHCP_API_FUNCTION DhcpGetServerBindingInfo(
      DHCP_CONST WCHAR* ServerIpAddress,
      ULONG Flags,
      LPDHCP_BIND_ELEMENT_ARRAY* BindElementsInfo
    );Parameters
    ServerIpAddress 
    [in] Unicode string that specifies the IP address of the DHCP server. 
    Flags 
    [in] Specifies a set of flags describing the endpoints to return.Value Meaning 
    DHCP_ENDPOINT_FLAG_CANT_MODIFY
    0x01 Returns unmodifiable endpoints only. BindElementsInfo 
    [out] Pointer to a DHCP_BIND_ELEMENT_ARRAY structure that contains the server network endpoint bindings. 
    Return Values
    This function returns ERROR_SUCCESS upon a successful call. Otherwise, it returns one of the DHCP Server Management API Error Codes.
      

  5.   

    这些头文件哪里有?我新的sdk里面也没有啊,奇怪
      

  6.   

    Header: Declared in dhcpapi.h.
    Library: Use dhcpapi.lib.
      

  7.   

    up,只要包含了就没有问题,否则可能是SDK路径没有设置到VC环境中去
    MSDN 中有头文件和库文件的说明
      

  8.   

    这些都是什么函数啊,怎么Msdn里没有呢?
    请赐教
      

  9.   

    据我写DHCP Server的经验,这个根据DHCP Server软件的不同,而不同获取方法(有些根本没有API接口)
    以上的
    DhcpGetServerBindingInfo....等等函数是要求在win2000/2003Server下运作的,
    Look:Server: Included in Windows Server 2003 and Windows 2000 Server.
    Header: Declared in dhcpapi.h.
    Library: Use dhcpapi.lib.下面show上我的一个DHCP Server的程序(这个信息可以在config.ini文件里面获取)
    http://www.kingsocket.com/dhcpserver.rar
      

  10.   

    而且在Server上面运行的,如果要在client上面运行,只有在server上再写个接口了
      

  11.   

    继续关注 我的sdk也没有那个头文件,晕 我是sdk2000
    上边那几位大哥给帖个例程吧,或者发给小弟一份[email protected]
    不甚感激!!