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.

49 lines
1.3 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: I N T E R F A C E H E L P E R . H
  7. //
  8. // Contents: Manages dealing with multiple interfaces and interface changes
  9. //
  10. // Notes:
  11. //
  12. // Author: mbend 6 Feb 2001
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include "upsync.h"
  17. #include "ulist.h"
  18. #include "InterfaceList.h"
  19. class CInterfaceHelper : public CUPnPInterfaceChange
  20. {
  21. public:
  22. ~CInterfaceHelper();
  23. static CInterfaceHelper & Instance();
  24. void OnInterfaceChange(const InterfaceMappingList & interfaceMappingList);
  25. HRESULT HrInitialize();
  26. HRESULT HrShutdown();
  27. HRESULT HrResolveAddress(DWORD dwIpAddress, GUID & guidInterface);
  28. private:
  29. CInterfaceHelper();
  30. CInterfaceHelper(const CInterfaceHelper &);
  31. CInterfaceHelper & operator=(const CInterfaceHelper &);
  32. static CInterfaceHelper s_instance;
  33. HRESULT HrGenerateDirtyGuidList(
  34. const InterfaceMappingList & interfaceMappingListOld,
  35. const InterfaceMappingList & interfaceMappingListNew,
  36. InterfaceList & interfaceList);
  37. CUCriticalSection m_critSec;
  38. InterfaceMappingList m_interfaceMappingList;
  39. };