windows-nt/Source/XPSP1/NT/net/upnp/ssdp/common/ssdpsrv/interfacehelper.h

50 lines
1.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000.
//
// File: I N T E R F A C E H E L P E R . H
//
// Contents: Manages dealing with multiple interfaces and interface changes
//
// Notes:
//
// Author: mbend 6 Feb 2001
//
//----------------------------------------------------------------------------
#pragma once
#include "upsync.h"
#include "ulist.h"
#include "InterfaceList.h"
class CInterfaceHelper : public CUPnPInterfaceChange
{
public:
~CInterfaceHelper();
static CInterfaceHelper & Instance();
void OnInterfaceChange(const InterfaceMappingList & interfaceMappingList);
HRESULT HrInitialize();
HRESULT HrShutdown();
HRESULT HrResolveAddress(DWORD dwIpAddress, GUID & guidInterface);
private:
CInterfaceHelper();
CInterfaceHelper(const CInterfaceHelper &);
CInterfaceHelper & operator=(const CInterfaceHelper &);
static CInterfaceHelper s_instance;
HRESULT HrGenerateDirtyGuidList(
const InterfaceMappingList & interfaceMappingListOld,
const InterfaceMappingList & interfaceMappingListNew,
InterfaceList & interfaceList);
CUCriticalSection m_critSec;
InterfaceMappingList m_interfaceMappingList;
};