_IEsmeReceiverComEvents_CP.h
上传用户:hkcoast
上传日期:2007-01-12
资源大小:979k
文件大小:1k
源码类别:

手机短信编程

开发平台:

Visual C++

  1. #pragma once
  2. template<class T>
  3. class CProxy_IEsmeReceiverComEvents :
  4. public IConnectionPointImpl<T, &__uuidof(_IEsmeReceiverComEvents)>
  5. {
  6. public:
  7. HRESULT Fire_OnDeliverSM( IDeliverSMCom *  dsm)
  8. {
  9. HRESULT hr = S_OK;
  10. T * pThis = static_cast<T *>(this);
  11. int cConnections = m_vec.GetSize();
  12. for (int iConnection = 0; iConnection < cConnections; iConnection++)
  13. {
  14. pThis->Lock();
  15. CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
  16. pThis->Unlock();
  17. IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
  18. if (pConnection)
  19. {
  20. CComVariant avarParams[1];
  21. avarParams[0] = dsm;
  22. CComVariant varResult;
  23. DISPPARAMS params = { avarParams, NULL, 1, 0 };
  24. hr = pConnection->Invoke(1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, &varResult, NULL, NULL);
  25. }
  26. }
  27. return hr;
  28. }
  29. };