CPPropPageATL.h
上传用户:lc8096
上传日期:2007-01-02
资源大小:40k
文件大小:1k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. //////////////////////////////////////////////////////////////////////////////
  2. // CProxy_DPropPageCtrlEvents
  3. template <class T>
  4. class CProxy_DPropPageCtrlEvents : public IConnectionPointImpl<T, &DIID__DPropPageCtrlEvents, CComDynamicUnkArray>
  5. {
  6. public:
  7. //methods:
  8. //_DPropPageCtrlEvents : IDispatch
  9. public:
  10. void Fire_ObjectFound(
  11. BSTR bstrObjectID)
  12. {
  13. VARIANTARG* pvars = new VARIANTARG[1];
  14. for (int i = 0; i < 1; i++)
  15. VariantInit(&pvars[i]);
  16. T* pT = (T*)this;
  17. pT->Lock();
  18. IUnknown** pp = m_vec.begin();
  19. while (pp < m_vec.end())
  20. {
  21. if (*pp != NULL)
  22. {
  23. pvars[0].vt = VT_BSTR;
  24. pvars[0].bstrVal= bstrObjectID;
  25. DISPPARAMS disp = { pvars, NULL, 1, 0 };
  26. IDispatch* pDispatch = reinterpret_cast<IDispatch*>(*pp);
  27. pDispatch->Invoke(0x1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
  28. }
  29. pp++;
  30. }
  31. pT->Unlock();
  32. delete[] pvars;
  33. }
  34. };