80 lines
1.5 KiB
C++
80 lines
1.5 KiB
C++
// Copyright (c) 1997-2001 Microsoft Corporation
|
|
//
|
|
// File: NetworkInterface.h
|
|
//
|
|
// Synopsis: Declares a NetworkInterface
|
|
// This object has the knowledge of an
|
|
// IP enabled network connection including
|
|
// IP address, DHCP information, etc.
|
|
//
|
|
// History: 03/01/2001 JeffJon Created
|
|
|
|
#ifndef __CYS_NETWORKINTERFACE_H
|
|
#define __CYS_NETWORKINTERFACE_H
|
|
|
|
|
|
|
|
class NetworkInterface
|
|
{
|
|
public:
|
|
|
|
// Constructor
|
|
|
|
NetworkInterface();
|
|
|
|
// Desctructor
|
|
|
|
~NetworkInterface();
|
|
|
|
// Copy constructor and assignment operator
|
|
|
|
NetworkInterface(const NetworkInterface& nic);
|
|
NetworkInterface& operator=(const NetworkInterface& rhs);
|
|
|
|
// Initializer
|
|
|
|
HRESULT
|
|
Initialize(SmartInterface<IWbemClassObject>& adapterObject);
|
|
|
|
|
|
// Pulic accessor methods
|
|
|
|
DWORD
|
|
GetIPAddress(DWORD addressIndex) const;
|
|
|
|
bool
|
|
IsDHCPEnabled() const { return dhcpEnabled; }
|
|
|
|
bool
|
|
RenewDHCPLease();
|
|
|
|
String
|
|
GetDescription() const;
|
|
|
|
String
|
|
GetStringIPAddress() const;
|
|
|
|
private:
|
|
|
|
HRESULT
|
|
GetIPAddressFromWMI();
|
|
|
|
HRESULT
|
|
SetIPAddresses(const StringList& ipList);
|
|
|
|
HRESULT
|
|
GetDHCPEnabledFromWMI();
|
|
|
|
bool initialized;
|
|
|
|
String ipaddressString;
|
|
DWORD ipaddrCount;
|
|
std::vector<DWORD> ipaddresses;
|
|
|
|
bool dhcpEnabled;
|
|
|
|
SmartInterface<IWbemClassObject> wmiAdapterObject;
|
|
};
|
|
|
|
#endif // __CYS_NETWORKINTERFACE_H
|