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.

186 lines
4.5 KiB

  1. // Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved
  2. #pragma namespace ("\\\\.\\root\\cimv2")
  3. #pragma classflags ("forceupdate")
  4. /////////////////////////////////////////////////////////////////////////////
  5. // Base event for all WMI self-instrumentation events.
  6. class MSFT_WmiSelfEvent : __ExtrinsicEvent
  7. {
  8. };
  9. /////////////////////////////////////////////////////////////////////////////
  10. // New notification sink registered because of new query
  11. class MSFT_WmiRegisterNotificationSink : MSFT_WmiSelfEvent
  12. {
  13. string Namespace;
  14. string QueryLanguage;
  15. string Query;
  16. uint64 Sink;
  17. };
  18. /////////////////////////////////////////////////////////////////////////////
  19. // Notification sink removed
  20. class MSFT_WmiCancelNotificationSink : MSFT_WmiSelfEvent
  21. {
  22. string Namespace;
  23. string QueryLanguage;
  24. string Query;
  25. uint64 Sink;
  26. };
  27. /////////////////////////////////////////////////////////////////////////////
  28. // Provider base event
  29. class MSFT_WmiProviderEvent : MSFT_WmiSelfEvent
  30. {
  31. string Namespace;
  32. string ProviderName;
  33. };
  34. /////////////////////////////////////////////////////////////////////////////
  35. // Event provider events
  36. class MSFT_WmiEventProviderEvent : MSFT_WmiProviderEvent
  37. {
  38. };
  39. class MSFT_WmiEventProviderLoaded : MSFT_WmiEventProviderEvent
  40. {
  41. };
  42. class MSFT_WmiEventProviderUnloaded : MSFT_WmiEventProviderEvent
  43. {
  44. };
  45. class MSFT_WmiEventProviderNewQuery : MSFT_WmiEventProviderEvent
  46. {
  47. uint32 QueryId;
  48. string QueryLanguage;
  49. string Query;
  50. uint32 Result;
  51. };
  52. class MSFT_WmiEventProviderCancelQuery : MSFT_WmiEventProviderEvent
  53. {
  54. uint32 QueryId;
  55. uint32 Result;
  56. };
  57. class MSFT_WmiEventProviderAccessCheck : MSFT_WmiEventProviderEvent
  58. {
  59. string QueryLanguage;
  60. string Query;
  61. uint8 Sid[];
  62. uint32 Result;
  63. };
  64. /////////////////////////////////////////////////////////////////////////////
  65. // Consumer provider events
  66. class MSFT_WmiConsumerProviderEvent : MSFT_WmiProviderEvent
  67. {
  68. string Machine;
  69. };
  70. class MSFT_WmiConsumerProviderLoaded : MSFT_WmiConsumerProviderEvent
  71. {
  72. };
  73. class MSFT_WmiConsumerProviderUnloaded : MSFT_WmiConsumerProviderEvent
  74. {
  75. };
  76. class MSFT_WmiConsumerProviderSinkLoaded : MSFT_WmiConsumerProviderEvent
  77. {
  78. __EventConsumer ref Consumer;
  79. };
  80. class MSFT_WmiConsumerProviderSinkUnloaded : MSFT_WmiConsumerProviderEvent
  81. {
  82. __EventConsumer ref Consumer;
  83. };
  84. /////////////////////////////////////////////////////////////////////////////
  85. // Thread pool events
  86. class MSFT_WmiThreadPoolEvent : MSFT_WmiSelfEvent
  87. {
  88. uint32 ThreadId;
  89. };
  90. class MSFT_WmiThreadPoolThreadCreated : MSFT_WmiThreadPoolEvent
  91. {
  92. };
  93. class MSFT_WmiThreadPoolThreadDeleted : MSFT_WmiThreadPoolEvent
  94. {
  95. };
  96. /////////////////////////////////////////////////////////////////////////////
  97. // Filter events
  98. class MSFT_WmiFilterEvent : MSFT_WmiSelfEvent
  99. {
  100. string Namespace;
  101. string Name;
  102. string QueryLanguage;
  103. string Query;
  104. };
  105. class MSFT_WmiFilterActivated : MSFT_WmiFilterEvent
  106. {
  107. };
  108. class MSFT_WmiFilterDeactivated : MSFT_WmiFilterEvent
  109. {
  110. };
  111. /////////////////////////////////////////////////////////////////////////////
  112. // WMI Event Provider registration.
  113. #pragma DeleteInstance("MSFT_WMI_NonCOMEventProvider.Name=\"WMI Self-Instrumentation Event Provider\"", NOFAIL)
  114. instance of __Win32Provider as $P1
  115. {
  116. Name = "WMI Self-Instrumentation Event Provider";
  117. HostingModel = "Decoupled:NonCOM";
  118. };
  119. instance of __EventProviderRegistration
  120. {
  121. Provider = $P1;
  122. EventQueryList = {"select * from MSFT_WmiSelfEvent"};
  123. /*
  124. {
  125. "select * from MSFT_WmiRegisterNotificationSink",
  126. "select * from MSFT_WmiCancelNotificationSink",
  127. "select * from MSFT_WmiEventProviderLoaded",
  128. "select * from MSFT_WmiEventProviderUnloaded",
  129. "select * from MSFT_WmiEventProviderNewQuery",
  130. "select * from MSFT_WmiEventProviderCancelQuery",
  131. "select * from MSFT_WmiEventProviderAccessCheck",
  132. "select * from MSFT_WmiConsumerProviderLoaded",
  133. "select * from MSFT_WmiConsumerProviderUnloaded",
  134. "select * from MSFT_WmiConsumerProviderSinkLoaded",
  135. "select * from MSFT_WmiConsumerProviderSinkUnloaded",
  136. "select * from MSFT_WmiThreadPoolThreadCreated",
  137. "select * from MSFT_WmiThreadPoolThreadDeleted",
  138. "select * from MSFT_WmiFilterActivated",
  139. "select * from MSFT_WmiFilterDeactivated"
  140. };
  141. */
  142. };