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.
359 lines
11 KiB
359 lines
11 KiB
|
|
// Wizard-generated connection point proxy class
|
|
// WARNING: This file may be regenerated by the wizard
|
|
|
|
|
|
#pragma once
|
|
|
|
template<class T>
|
|
class CProxy_IDNSSDEvents :
|
|
public IConnectionPointImpl<T, &__uuidof(_IDNSSDEvents)>
|
|
{
|
|
public:
|
|
HRESULT Fire_DomainFound( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR domain)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[4];
|
|
avarParams[3] = service;
|
|
avarParams[2] = flags;
|
|
avarParams[1] = ifIndex;
|
|
avarParams[1].vt = VT_UI4;
|
|
avarParams[0] = domain;
|
|
avarParams[0].vt = VT_BSTR;
|
|
DISPPARAMS params = { avarParams, NULL, 4, 0 };
|
|
hr = pConnection->Invoke(1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_DomainLost( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR domain)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[4];
|
|
avarParams[3] = service;
|
|
avarParams[2] = flags;
|
|
avarParams[1] = ifIndex;
|
|
avarParams[1].vt = VT_UI4;
|
|
avarParams[0] = domain;
|
|
avarParams[0].vt = VT_BSTR;
|
|
DISPPARAMS params = { avarParams, NULL, 4, 0 };
|
|
hr = pConnection->Invoke(2, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_ServiceFound( IDNSSDService * browser, DNSSDFlags flags, ULONG ifIndex, BSTR serviceName, BSTR regType, BSTR domain)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[6];
|
|
avarParams[5] = browser;
|
|
avarParams[4] = flags;
|
|
avarParams[3] = ifIndex;
|
|
avarParams[3].vt = VT_UI4;
|
|
avarParams[2] = serviceName;
|
|
avarParams[2].vt = VT_BSTR;
|
|
avarParams[1] = regType;
|
|
avarParams[1].vt = VT_BSTR;
|
|
avarParams[0] = domain;
|
|
avarParams[0].vt = VT_BSTR;
|
|
DISPPARAMS params = { avarParams, NULL, 6, 0 };
|
|
hr = pConnection->Invoke(3, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_ServiceLost( IDNSSDService * browser, DNSSDFlags flags, ULONG ifIndex, BSTR serviceName, BSTR regType, BSTR domain)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[6];
|
|
avarParams[5] = browser;
|
|
avarParams[4] = flags;
|
|
avarParams[3] = ifIndex;
|
|
avarParams[3].vt = VT_UI4;
|
|
avarParams[2] = serviceName;
|
|
avarParams[2].vt = VT_BSTR;
|
|
avarParams[1] = regType;
|
|
avarParams[1].vt = VT_BSTR;
|
|
avarParams[0] = domain;
|
|
avarParams[0].vt = VT_BSTR;
|
|
DISPPARAMS params = { avarParams, NULL, 6, 0 };
|
|
hr = pConnection->Invoke(4, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_ServiceResolved( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR fullName, BSTR hostName, USHORT port, ITXTRecord * record)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[7];
|
|
avarParams[6] = service;
|
|
avarParams[5] = flags;
|
|
avarParams[4] = ifIndex;
|
|
avarParams[4].vt = VT_UI4;
|
|
avarParams[3] = fullName;
|
|
avarParams[3].vt = VT_BSTR;
|
|
avarParams[2] = hostName;
|
|
avarParams[2].vt = VT_BSTR;
|
|
avarParams[1] = port;
|
|
avarParams[1].vt = VT_UI2;
|
|
avarParams[0] = record;
|
|
DISPPARAMS params = { avarParams, NULL, 7, 0 };
|
|
hr = pConnection->Invoke(5, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_ServiceRegistered( IDNSSDService * service, DNSSDFlags flags, BSTR name, BSTR regType, BSTR domain)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[5];
|
|
avarParams[4] = service;
|
|
avarParams[3] = flags;
|
|
avarParams[2] = name;
|
|
avarParams[2].vt = VT_BSTR;
|
|
avarParams[1] = regType;
|
|
avarParams[1].vt = VT_BSTR;
|
|
avarParams[0] = domain;
|
|
avarParams[0].vt = VT_BSTR;
|
|
DISPPARAMS params = { avarParams, NULL, 5, 0 };
|
|
hr = pConnection->Invoke(6, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_QueryRecordAnswered( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR fullName, DNSSDRRType rrtype, DNSSDRRClass rrclass, VARIANT rdata, ULONG ttl)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[8];
|
|
avarParams[7] = service;
|
|
avarParams[6] = flags;
|
|
avarParams[5] = ifIndex;
|
|
avarParams[5].vt = VT_UI4;
|
|
avarParams[4] = fullName;
|
|
avarParams[4].vt = VT_BSTR;
|
|
avarParams[3] = rrtype;
|
|
avarParams[2] = rrclass;
|
|
avarParams[1] = rdata;
|
|
avarParams[0] = ttl;
|
|
avarParams[0].vt = VT_UI4;
|
|
DISPPARAMS params = { avarParams, NULL, 8, 0 };
|
|
hr = pConnection->Invoke(7, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_RecordRegistered( IDNSSDRecord * record, DNSSDFlags flags)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[2];
|
|
avarParams[1] = record;
|
|
avarParams[0] = flags;
|
|
DISPPARAMS params = { avarParams, NULL, 2, 0 };
|
|
hr = pConnection->Invoke(8, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_AddressFound( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR hostname, DNSSDAddressFamily addressFamily, BSTR address, ULONG ttl)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[7];
|
|
avarParams[6] = service;
|
|
avarParams[5] = flags;
|
|
avarParams[4] = ifIndex;
|
|
avarParams[4].vt = VT_UI4;
|
|
avarParams[3] = hostname;
|
|
avarParams[3].vt = VT_BSTR;
|
|
avarParams[2] = addressFamily;
|
|
avarParams[1] = address;
|
|
avarParams[1].vt = VT_BSTR;
|
|
avarParams[0] = ttl;
|
|
avarParams[0].vt = VT_UI4;
|
|
DISPPARAMS params = { avarParams, NULL, 7, 0 };
|
|
hr = pConnection->Invoke(9, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_MappingCreated( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, ULONG externalAddress, DNSSDAddressFamily addressFamily, DNSSDProtocol protocol, USHORT internalPort, USHORT externalPort, ULONG ttl)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[9];
|
|
avarParams[8] = service;
|
|
avarParams[7] = flags;
|
|
avarParams[6] = ifIndex;
|
|
avarParams[6].vt = VT_UI4;
|
|
avarParams[5] = externalAddress;
|
|
avarParams[5].vt = VT_UI4;
|
|
avarParams[4] = addressFamily;
|
|
avarParams[3] = protocol;
|
|
avarParams[2] = internalPort;
|
|
avarParams[2].vt = VT_UI2;
|
|
avarParams[1] = externalPort;
|
|
avarParams[1].vt = VT_UI2;
|
|
avarParams[0] = ttl;
|
|
avarParams[0].vt = VT_UI4;
|
|
DISPPARAMS params = { avarParams, NULL, 9, 0 };
|
|
hr = pConnection->Invoke(10, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
HRESULT Fire_OperationFailed( IDNSSDService * service, DNSSDError error)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
T * pThis = static_cast<T *>(this);
|
|
int cConnections = m_vec.GetSize();
|
|
|
|
for (int iConnection = 0; iConnection < cConnections; iConnection++)
|
|
{
|
|
pThis->Lock();
|
|
CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
|
|
pThis->Unlock();
|
|
|
|
IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
|
|
|
|
if (pConnection)
|
|
{
|
|
CComVariant avarParams[2];
|
|
avarParams[1] = service;
|
|
avarParams[0] = error;
|
|
DISPPARAMS params = { avarParams, NULL, 2, 0 };
|
|
hr = pConnection->Invoke(11, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
return hr;
|
|
}
|
|
};
|
|
|