| |
| // 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; |
| } |
| }; |
| |