1 // OneNetAdapterInfo.h: interface for the COneNetAdapterInfo class.
3 //////////////////////////////////////////////////////////////////////
5 #if !defined(AFX_OneNetAdapterInfo_H__A899410F_5CFF_4958_80C4_D1AC693F62E3__INCLUDED_)
6 #define AFX_OneNetAdapterInfo_H__A899410F_5CFF_4958_80C4_D1AC693F62E3__INCLUDED_
10 #endif // _MSC_VER > 1000
14 »ñÈ¡Íø¿¨ÐÅÏ¢£¬°üÀ¨IPµØÖ·¡¢DNS¡¢Íø¹Ø¡¢ÊÇ·ñΪ¶¯Ì¬IP¡¢DHCPµÈ£¬¸ÃÀ಻ÓöÁȡע²á±í¼´¿É»ñÈ¡×îеÄÍø¿¨ÐÅÏ¢
15 ÁíÍ⻹¿ÉÒÔÊÍ·ÅÍø¿¨µØÖ·²¢ÖØÐÂˢеØÖ·
22 typedef struct _IPINFO
27 typedef CArray
<t_IPINFO
,t_IPINFO
&> t_Ary_IPINFO
;
29 typedef DWORD ( __stdcall
*Func_OperateIP
)( PIP_ADAPTER_INDEX_MAP AdapterInfo
);
30 CString
MacAddress2String ( int nPhysicalAddressLength
, BYTE
*pPhysicalAddress
);
32 class COneNetAdapterInfo
35 COneNetAdapterInfo ( IP_ADAPTER_INFO
*pAdptInfo
);
36 virtual ~COneNetAdapterInfo();
37 CString
Get_Name() { return m_csName
; }
38 CString
Get_Desc() { return m_csDesc
; }
41 CString
GetAdapterTypeString ();
43 time_t Get_LeaseObtained() const;
44 time_t Get_LeaseExpired() const;
45 int Get_IPCount() const;
46 int Get_DNSCount() const;
47 CString
Get_CurrentIP() const;
48 BOOL
Is_DHCP_Used() const;
49 CString
Get_DHCPAddr() const;
50 BOOL
Is_Wins_Used() const;
51 CString
Get_PrimaryWinsServer() const;
52 CString
Get_SecondaryWinsServer() const;
53 int Get_GatewayCount() const;
54 DWORD
Get_AdapterIndex() const;
55 UINT
Get_AdapterType() const;
56 CString
Get_IPAddr ( int nIndex
) const;
57 CString
Get_Subnet ( int nIndex
) const;
58 CString
Get_DNSAddr ( int nIndex
) const;
59 CString
Get_GatewayAddr ( int nIndex
) const;
60 void Set_PhysicalAddress ( int nPhysicalAddressLength
, BYTE
*pPhysicalAddress
);
61 CString
Get_PhysicalAddressStr () { return MacAddress2String ( m_nPhysicalAddressLength
, m_PhysicalAddress
); }
65 BOOL
RenewReleaseIP( Func_OperateIP func
);
70 IP_ADAPTER_INFO m_AdptInfo
;
73 t_IPINFO m_CurIPInfo
; // this is also in the ip address list but this is the address currently active.
74 t_Ary_IPINFO m_Ary_IP
;
75 CStringArray m_Ary_DNS
;
76 CStringArray m_Ary_Gateway
;
77 BYTE m_PhysicalAddress
[MAX_ADAPTER_ADDRESS_LENGTH
];
78 int m_nPhysicalAddressLength
;
86 int GetNetCardCount () { return m_Ary_NetAdapterInfo
.GetSize(); }
87 COneNetAdapterInfo
* Get_OneNetAdapterInfo ( int nIndex
);
88 COneNetAdapterInfo
* CNetAdapterInfo::Get_OneNetAdapterInfo ( DWORD dwIndex
);
92 int EnumNetworkAdapters ();
93 void DeleteAllNetAdapterInfo();
94 BOOL
GetAdapterAddress ();
97 CPtrArray m_Ary_NetAdapterInfo
;
100 #endif // !defined(AFX_OneNetAdapterInfo_H__A899410F_5CFF_4958_80C4_D1AC693F62E3__INCLUDED_)