Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: I N T E R F A C E M A N A G E R . H
  7. //
  8. // Contents: Manages building the list of IP addresses
  9. //
  10. // Notes:
  11. //
  12. // Author: mbend 3 Jan 2001
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include "InterfaceTable.h"
  17. class CInterfaceManager
  18. {
  19. public:
  20. CInterfaceManager();
  21. ~CInterfaceManager();
  22. HRESULT HrInitializeWithAllInterfaces();
  23. HRESULT HrInitializeWithIncludedInterfaces(const InterfaceList & interfaceList);
  24. HRESULT HrGetValidIpAddresses(IpAddressList & ipAddressList);
  25. HRESULT HrGetValidIndices(IndexList & indexList);
  26. HRESULT HrGetMappingList(InterfaceMappingList & interfaceMappingList);
  27. private:
  28. CInterfaceManager(const CInterfaceManager &);
  29. CInterfaceManager & operator=(const CInterfaceManager &);
  30. HRESULT HrAddInterfaceMappingIfPresent(DWORD dwIpAddress, DWORD dwIndex, const GUID & guidInterface);
  31. HRESULT HrProcessIpAddresses();
  32. BOOL m_bAllInterfaces;
  33. InterfaceMappingList m_interfaceMappingList;
  34. };