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.

163 lines
3.4 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1997 - 1999
  3. Module Name:
  4. sensinfo.hxx
  5. Abstract:
  6. This file contains all the SENS Information that is to be registered
  7. with the EventSystem. Note that SENS GUIDs are defined in public header
  8. file sens.h.
  9. Author:
  10. Gopal Parupudi <GopalP>
  11. [Notes:]
  12. optional-notes
  13. Revision History:
  14. GopalP 11/11/1997 Start.
  15. --*/
  16. #ifndef __SENSINFO_HXX__
  17. #define __SENSINFO_HXX__
  18. //
  19. // Some typedefs
  20. //
  21. typedef struct _PUBLISHER_EVENTCLASS
  22. {
  23. const GUID *pEventClassID;
  24. LPOLESTR strEventClassName;
  25. const GUID *pFiringInterfaceGUID;
  26. } PUBLISHER_EVENTCLASS, *PPUBLISHER_EVENTCLASS;
  27. typedef struct _SENS_SUBSCRIPTION
  28. {
  29. const GUID *pSubscriptionID;
  30. LPOLESTR strSubscriptionName;
  31. LPOLESTR strMethodName;
  32. const GUID *pEventClassID;
  33. const GUID *pInterfaceID;
  34. BOOL bPublisherPropertyPresent;
  35. LPOLESTR strPropertyMethodName;
  36. LPOLESTR strPropertyMethodNameValue;
  37. LPOLESTR strPropertyEventClassID;
  38. const GUID *pPropertyEventClassIDValue;
  39. } SENS_SUBSCRIPTION, *PSENS_SUBSCRIPTION;
  40. //
  41. // Constants
  42. //
  43. #define SENS_PUBLISHER_NAME SENS_BSTR("System Event Notification Service (SENS)")
  44. #define SENS_SUBSCRIPTION_CHANGED_NAME SENS_BSTR("SENS EventSystem Subscription Changed")
  45. #define SENS_EVENTCLASS_CHANGED_NAME SENS_BSTR("SENS EventSystem EventClass Changed")
  46. #define SENS_PUBLISHER_CHANGED_NAME SENS_BSTR("SENS EventSystem Publisher Changed")
  47. #define SENS_EVENTCLASS_NAME_NETWORK SENS_BSTR("SENS Network Events")
  48. #define SENS_EVENTCLASS_NAME_WINLOGON SENS_BSTR("SENS Logon Events")
  49. #define SENS_EVENTCLASS_NAME_WINLOGON2 SENS_BSTR("SENS Logon2 Events")
  50. #define SENS_EVENTCLASS_NAME_ONNOW SENS_BSTR("SENS OnNow Events")
  51. //
  52. // The GUIDs private to SENS
  53. //
  54. DEFINE_GUID(
  55. SENSGUID_SUBSCRIPTION_REACH, /* d789ab00-5b9f-11d1-8dd2-00aa004abd5e */
  56. 0xd789ab00,
  57. 0x5b9f,
  58. 0x11d1,
  59. 0x8d, 0xd2, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e
  60. );
  61. DEFINE_GUID(
  62. SENSGUID_SUBSCRIPTION_REACH_NOQOC, /* d789ab01-5b9f-11d1-8dd2-00aa004abd5e */
  63. 0xd789ab01,
  64. 0x5b9f,
  65. 0x11d1,
  66. 0x8d, 0xd2, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e
  67. );
  68. DEFINE_GUID(
  69. SENSGUID_SUBSCRIPTION_CHANGED, /* d789ab02-5b9f-11d1-8dd2-00aa004abd5e */
  70. 0xd789ab02,
  71. 0x5b9f,
  72. 0x11d1,
  73. 0x8d, 0xd2, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e
  74. );
  75. //
  76. // Globals
  77. //
  78. const PUBLISHER_EVENTCLASS gSensEventClasses[] =
  79. {
  80. {
  81. &SENSGUID_EVENTCLASS_NETWORK,
  82. SENS_EVENTCLASS_NAME_NETWORK,
  83. &IID_ISensNetwork
  84. },
  85. {
  86. &SENSGUID_EVENTCLASS_LOGON,
  87. SENS_EVENTCLASS_NAME_WINLOGON,
  88. &IID_ISensLogon
  89. },
  90. {
  91. &SENSGUID_EVENTCLASS_LOGON2,
  92. SENS_EVENTCLASS_NAME_WINLOGON2,
  93. &IID_ISensLogon2
  94. },
  95. {
  96. &SENSGUID_EVENTCLASS_ONNOW,
  97. SENS_EVENTCLASS_NAME_ONNOW,
  98. &IID_ISensOnNow
  99. }
  100. };
  101. #define SENS_PUBLISHER_EVENTCLASS_COUNT (sizeof(gSensEventClasses)/sizeof(PUBLISHER_EVENTCLASS))
  102. const SENS_SUBSCRIPTION gSensSubscriptions[] =
  103. {
  104. {
  105. &SENSGUID_SUBSCRIPTION_CHANGED,
  106. SENS_SUBSCRIPTION_CHANGED_NAME,
  107. SENS_BSTR("ChangedSubscription"),
  108. &CLSID_EventObjectChange,
  109. &IID_IEventObjectChange,
  110. TRUE,
  111. NULL,
  112. NULL,
  113. SENS_BSTR("EventClassID"),
  114. NULL
  115. }
  116. };
  117. #define SENS_SUBSCRIPTIONS_COUNT (sizeof(gSensSubscriptions)/sizeof(SENS_SUBSCRIPTION))
  118. #endif // __SENSINFO_HXX__