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.
 
 
 
 
 
 

35 lines
1.1 KiB

#pragma once
#include "beacon.h"
#include <upnp.h>
class ATL_NO_VTABLE CBeaconFinder :
public CComObjectRootEx <CComSingleThreadModel>,
public IUPnPDeviceFinderCallback
{
public:
BEGIN_COM_MAP(CBeaconFinder)
COM_INTERFACE_ENTRY(IUPnPDeviceFinderCallback)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT();
CBeaconFinder();
STDMETHODIMP DeviceAdded(LONG lFindData, IUPnPDevice* pDevice);
STDMETHODIMP DeviceRemoved(LONG lFindData, BSTR bstrUDN);
STDMETHODIMP SearchComplete(LONG lFindData);
HRESULT Initialize(HWND hCallbackWindow);
private:
HRESULT FindService(IUPnPDevice* pDevice, LPWSTR pszServiceName, IUPnPService** ppICSService);
HRESULT FindDevice(IUPnPDevices* pDevices, LPWSTR pszDeviceType, IUPnPDevice** ppChildDevice);
HRESULT FindChildDevice(IUPnPDevice* pDevice, LPWSTR pszDeviceType, IUPnPDevice** ppChildDevice);
HRESULT GetServices(IUPnPDevice* pDevice, IInternetGateway** ppInternetGateway);
HRESULT IsServiceMatch(IUPnPService* pService, BSTR SearchCriteria, BOOL* pbMatch);
HWND m_hCallbackWindow;
};