code_junkie

event notifications not received as described

Nov 14th, 2011
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. HRESULT STDMETHODCALLTYPE Invoke(
  2. {
  3. //omitted parameters
  4.  
  5. // The riid parameter is always supposed to be IID_NULL
  6. if (riid != IID_NULL)
  7. return DISP_E_UNKNOWNINTERFACE;
  8.  
  9. if (pDispParams) //DISPID dispIdMember
  10. {
  11. switch (dispIdMember) {
  12. case 1:
  13. return Event_one();
  14. case 2:
  15. return Event_two();
  16. case 3:
  17. return Event_three();
  18. default:
  19. return E_NOTIMPL;
  20. }
  21. }
  22. return E_NOTIMPL;
  23. }
  24.  
  25. STDMETHOD (QueryInterface)(
  26. //omitted parameters
  27. {
  28. if (iid == IID_IUnknown || iid == __uuidof(IEvents))
  29. {
  30. *ppvObject = (IEvents *)this;
  31. } else {
  32. *ppvObject = NULL;
  33. return E_NOINTERFACE;
  34. }
  35. m_dwRefCount++;
  36. return S_OK;
  37. };
  38.  
  39. methods:
  40. [id(0x00000002)]
  41. HRESULT Event_one();
  42.  
  43. //omitted
  44.  
  45.  
  46. if (pDispParams) //DISPID dispIdMember
  47. {
  48. switch (dispIdMember) {
  49. case 2:
  50. return Event_one();
  51.  
  52. //omitted
Add Comment
Please, Sign In to add comment