Source code of Windows XP (NT5)
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.

123 lines
1.8 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. EventCallback.cpp
  5. Abstract:
  6. Author:
  7. Hakki T. Bostanci (hakkib) 06-Apr-2000
  8. Revision History:
  9. --*/
  10. #include "StdAfx.h"
  11. #include "WiaStress.h"
  12. #include "EventCallback.h"
  13. //////////////////////////////////////////////////////////////////////////
  14. //
  15. //
  16. //
  17. CEventCallback::CEventCallback()
  18. {
  19. m_cRef = 0;
  20. }
  21. //////////////////////////////////////////////////////////////////////////
  22. //
  23. //
  24. //
  25. CEventCallback::~CEventCallback()
  26. {
  27. }
  28. //////////////////////////////////////////////////////////////////////////
  29. //
  30. //
  31. //
  32. STDMETHODIMP CEventCallback::QueryInterface(REFIID iid, LPVOID *ppvObj)
  33. {
  34. if (ppvObj == 0)
  35. {
  36. return E_POINTER;
  37. }
  38. if (iid == IID_IUnknown)
  39. {
  40. AddRef();
  41. *ppvObj = (IUnknown*) this;
  42. return S_OK;
  43. }
  44. if (iid == IID_IWiaEventCallback)
  45. {
  46. AddRef();
  47. *ppvObj = (IWiaEventCallback *) this;
  48. return S_OK;
  49. }
  50. *ppvObj = 0;
  51. return E_NOINTERFACE;
  52. }
  53. //////////////////////////////////////////////////////////////////////////
  54. //
  55. //
  56. //
  57. STDMETHODIMP_(ULONG) CEventCallback::AddRef()
  58. {
  59. return InterlockedIncrement(&m_cRef);
  60. }
  61. //////////////////////////////////////////////////////////////////////////
  62. //
  63. //
  64. //
  65. STDMETHODIMP_(ULONG) CEventCallback::Release()
  66. {
  67. LONG cRef = InterlockedDecrement(&m_cRef);
  68. if (cRef == 0)
  69. {
  70. delete this;
  71. }
  72. return cRef;
  73. }
  74. //////////////////////////////////////////////////////////////////////////
  75. //
  76. //
  77. //
  78. STDMETHODIMP
  79. CEventCallback::ImageEventCallback(
  80. LPCGUID pEventGUID,
  81. BSTR bstrEventDescription,
  82. BSTR bstrDeviceID,
  83. BSTR bstrDeviceDescription,
  84. DWORD dwDeviceType,
  85. BSTR bstrFullItemName,
  86. ULONG *pulEventType,
  87. ULONG ulReserved
  88. )
  89. {
  90. return S_OK;
  91. }