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.

130 lines
4.6 KiB

  1. /*****************************************************************************
  2. * (C) COPYRIGHT MICROSOFT CORPORATION, 2002
  3. *
  4. * AUTHOR: ByronC
  5. *
  6. * DATE: 4/10/2002
  7. *
  8. * @doc INTERNAL
  9. *
  10. * @module EventHandlerInfo.h - Definitions for <c EventHandlerInfo> |
  11. *
  12. * This file contains the class definition for <c EventHandlerInfo>.
  13. *
  14. *****************************************************************************/
  15. //
  16. // Defines
  17. //
  18. #define EventHandlerInfo_UNINIT_SIG 0x55497645
  19. #define EventHandlerInfo_INIT_SIG 0x49497645
  20. #define EventHandlerInfo_TERM_SIG 0x54497645
  21. #define EventHandlerInfo_DEL_SIG 0x44497645
  22. /*****************************************************************************
  23. *
  24. * @doc INTERNAL
  25. *
  26. * @class EventHandlerInfo | Holds information pertaining to a WIA persistent event handler
  27. *
  28. * @comm
  29. * This class continas the all information relating to a particular
  30. * WIA persistent event handler. This information can be used to check whether a
  31. * given handler supports a device/event pair; and can also be used to
  32. * launch the handler itsself.
  33. *
  34. *****************************************************************************/
  35. class EventHandlerInfo
  36. {
  37. //@access Public members
  38. public:
  39. // @cmember Constructor
  40. EventHandlerInfo(const CSimpleStringWide &cswName,
  41. const CSimpleStringWide &cswDescription,
  42. const CSimpleStringWide &cswIcon,
  43. const CSimpleStringWide &cswCommandline,
  44. const GUID &guidCLSID);
  45. // @cmember Destructor
  46. virtual ~EventHandlerInfo();
  47. // @cmember Increment reference count
  48. virtual ULONG __stdcall AddRef();
  49. // @cmember Decrement reference count
  50. virtual ULONG __stdcall Release();
  51. // @cmember Accessor method for the DeviceID this handler is registered for
  52. CSimpleStringWide getDeviceID();
  53. // @cmember Accessor method for the friendly Name for this handler
  54. CSimpleStringWide getName();
  55. // @cmember Accessor method for the description for this handler
  56. CSimpleStringWide getDescription();
  57. // @cmember Accessor method for the icon path for this handler
  58. CSimpleStringWide getIconPath();
  59. // @cmember Accessor method for the Commandline for this handler (if it has one)
  60. CSimpleStringWide getCommandline();
  61. // @cmember Accessor method for the CLSID of this handler
  62. GUID getCLSID();
  63. // @cmember For debugging: dumps the object members
  64. VOID Dump();
  65. //@access Private members
  66. private:
  67. // @cmember Signature of class
  68. ULONG m_ulSig;
  69. // @cmember Ref count
  70. ULONG m_cRef;
  71. // @cmember The friendly Name for this handler
  72. CSimpleStringWide m_cswName;
  73. // @cmember The description for this handler
  74. CSimpleStringWide m_cswDescription;
  75. // @cmember The icon path for this handler
  76. CSimpleStringWide m_cswIcon;
  77. // @cmember The Commandline for this handler (if it has one)
  78. CSimpleStringWide m_cswCommandline;
  79. // @cmember The CLSID of this handler
  80. GUID m_guidCLSID;
  81. //
  82. // Comments for member variables
  83. //
  84. // @mdata ULONG | EventHandlerInfo | m_ulSig |
  85. // The signature for this class, used for debugging purposes.
  86. // Doing a <nl>"db [addr_of_class]"<nl> would yield one of the following
  87. // signatures for this class:
  88. // @flag EventHandlerInfo_UNINIT_SIG | 'EvIU' - Object has not been successfully
  89. // initialized
  90. // @flag EventHandlerInfo_INIT_SIG | 'EvII' - Object has been successfully
  91. // initialized
  92. // @flag EventHandlerInfo_TERM_SIG | 'EvIT' - Object is in the process of
  93. // terminating.
  94. // @flag EventHandlerInfo_INIT_SIG | 'EvID' - Object has been deleted
  95. // (destructor was called)
  96. //
  97. // @mdata ULONG | EventHandlerInfo | m_cRef |
  98. // The reference count for this class. Used for lifetime
  99. // management.
  100. //
  101. // @mdata CSimpleStringWide | EventHandlerInfo | m_cswName |
  102. // The friendly Name for this handler
  103. //
  104. // @mdata CSimpleStringWide | EventHandlerInfo | m_cswDescription |
  105. // The description for this handler
  106. //
  107. // @mdata CSimpleStringWide | EventHandlerInfo | m_cswIcon |
  108. // The icon path for this handler
  109. //
  110. // @mdata CSimpleStringWide | EventHandlerInfo | m_cswCommandline |
  111. // The Commandline for this handler (if it has one)
  112. //
  113. // @mdata GUID | EventHandlerInfo | m_guidCLSID |
  114. // The CLSID of this handler
  115. //
  116. };