Leaked source code of windows server 2003
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.

54 lines
1.9 KiB

  1. /*****************************************************************************
  2. * (C) COPYRIGHT MICROSOFT CORPORATION, 2002
  3. *
  4. * AUTHOR: ByronC
  5. *
  6. * DATE: 4/1/2002
  7. *
  8. * @doc INTERNAL
  9. *
  10. * @module ClientEventRegistrationInfo.cpp - Definitions for <c ClientEventRegistrationInfo> |
  11. *
  12. * This file contains the class definition for <c ClientEventRegistrationInfo>.
  13. *
  14. *****************************************************************************/
  15. /*****************************************************************************
  16. *
  17. * @doc INTERNAL
  18. *
  19. * @class ClientEventRegistrationInfo | Sub-class of <c ClientEventRegistrationInfo>
  20. *
  21. * @comm
  22. * This class is very similar to its parent <c ClientEventRegistrationInfo>.
  23. * The main difference is that it AddRef's and Releases the callback member.
  24. *
  25. *****************************************************************************/
  26. class ClientEventRegistrationInfo : public EventRegistrationInfo
  27. {
  28. //@access Public members
  29. public:
  30. // @cmember Constructor
  31. ClientEventRegistrationInfo(DWORD dwFlags, GUID guidEvent, WCHAR *wszDeviceID, IWiaEventCallback *pIWiaEventCallback);
  32. // @cmember Destructor
  33. virtual ~ClientEventRegistrationInfo();
  34. // @cmember Returns the callback interface for this registration
  35. virtual IWiaEventCallback* getCallbackInterface();
  36. // @cmember Ensures this registration is set to unregister
  37. virtual VOID setToUnregister();
  38. //@access Private members
  39. private:
  40. // @cmember The GIT cookie for the callback interface
  41. DWORD m_dwInterfaceCookie;
  42. //@mdata DWORD | ClientEventRegistrationInfo | m_dwInterfaceCookie |
  43. // In order to ensure correct access from multiple apartments,
  44. // we store the callback interface in the process-wide GIT. This
  45. // cookie is used to retrieve the callback interface whenever we need it.
  46. //
  47. };