#pragma once #include "nmbase.h" class ATL_NO_VTABLE CSharedAccessBeacon : public CComObjectRootEx , public ISharedAccessBeacon { public: BEGIN_COM_MAP(CSharedAccessBeacon) COM_INTERFACE_ENTRY(ISharedAccessBeacon) END_COM_MAP() CSharedAccessBeacon(); // ISharedAccessBeacon STDMETHODIMP GetMediaType(NETCON_MEDIATYPE* pMediaType); STDMETHODIMP GetLocalAdapterGUID(GUID* pGuid); STDMETHODIMP GetService(SAHOST_SERVICES ulService, IUPnPService**); STDMETHODIMP GetUniqueDeviceName(BSTR* pUniqueDeviceName); HRESULT SetMediaType(NETCON_MEDIATYPE MediaType); HRESULT SetLocalAdapterGUID(GUID* pGuid); HRESULT SetService(ULONG ulService, IUPnPService* pService); HRESULT SetUniqueDeviceName(BSTR UniqueDeviceName); HRESULT FinalRelease(); private: NETCON_MEDIATYPE m_MediaType; GUID m_LocalAdapterGUID; IUPnPService* m_Services[SAHOST_SERVICE_MAX]; BSTR m_UniqueDeviceName; };