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.

229 lines
6.5 KiB

  1. // (c) 1998-1999 Microsoft Corporation. All rights reserved.
  2. #pragma autorecover
  3. #pragma classflags("forceupdate")
  4. Qualifier Description : ToSubClass Amended;
  5. Qualifier Values : ToSubClass Amended;
  6. Qualifier DisplayName : Amended;
  7. Qualifier BitValues:ToSubClass Amended ;
  8. Qualifier Aggregate : ToSubClass ;
  9. Qualifier ValueMap : ToSubClass ;
  10. Qualifier Aggregation : ToSubClass ;
  11. Qualifier ArrayType : ToSubClass ;
  12. Qualifier Association : ToInstance ToSubClass DisableOverride ;
  13. Qualifier BitMap : ToSubClass ;
  14. Qualifier CIM_Key : ToSubClass ;
  15. Qualifier CIMTYPE : ToSubClass ;
  16. Qualifier Deprecated : ToSubClass ;
  17. Qualifier Enumeration : ToSubClass ;
  18. Qualifier EnumPrivileges : ToSubClass ;
  19. Qualifier ImplementationSource : ToSubClass ;
  20. Qualifier Key : ToInstance ToSubClass DisableOverride ;
  21. Qualifier Locale : ToInstance ;
  22. Qualifier MappingStrings : ToSubClass ;
  23. Qualifier Max : ToSubClass ;
  24. Qualifier MaxLen : ToSubClass ;
  25. Qualifier Min : ToSubClass ;
  26. Qualifier ModelCorrespondence : ToSubClass ;
  27. Qualifier Not_Null : ToSubClass ;
  28. Qualifier Override : Restricted ;
  29. Qualifier Privileges : ToSubClass ;
  30. Qualifier Propagated : ToSubClass ;
  31. Qualifier provider : ToInstance ;
  32. Qualifier Range : ToSubClass ;
  33. Qualifier Read : ToSubClass ;
  34. Qualifier Schema : ToInstance ;
  35. Qualifier Singleton : ToSubClass ToInstance ;
  36. Qualifier SUBTYPE : ToSubClass ;
  37. Qualifier Units : ToSubClass ;
  38. Qualifier UUID : ToInstance ;
  39. Qualifier Volatile : ToSubClass ;
  40. Qualifier Weak : ToSubClass ;
  41. Qualifier Write : ToSubClass ;
  42. Qualifier WritePrivileges : ToSubClass ;
  43. #pragma namespace ("\\\\.\\Root\\CIMV2")
  44. [Description(
  45. "The SystemTrace class is the base class for all system trace events. "
  46. "System trace events are fired by the kernel logger via the event "
  47. "tracing API." ), Locale (0x409)]
  48. class Win32_SystemTrace : __ExtrinsicEvent
  49. {
  50. };
  51. [Description(
  52. "This event is the base event for process events."), Locale (0x409)]
  53. class Win32_ProcessTrace : Win32_SystemTrace
  54. {
  55. [read, Description(
  56. "The ProcessID property identifies the process involved in the event.")]
  57. uint32 ProcessID;
  58. [read, Description(
  59. "The ParentProcessID property identifies of the process that actually"
  60. "caused the event to happen.")]
  61. uint32 ParentProcessID;
  62. [read, Description(
  63. "The SessionID property identifies the session under which the process "
  64. "exists.")]
  65. uint32 SessionID;
  66. [read, Description(
  67. "The Sid property is the security identifier representing the user "
  68. "context under which the event happened.")]
  69. uint8 Sid[];
  70. [read, Description(
  71. "The ProcessName property contains the name of the process.")]
  72. string ProcessName;
  73. [read, Description(
  74. "The PageDirectoryBase property identifies the process' page directory base.")]
  75. uint64 PageDirectoryBase;
  76. };
  77. [Description(
  78. "The ProcessStartTrace event class indicates a new process has started."),
  79. Locale (0x409)]
  80. class Win32_ProcessStartTrace : Win32_ProcessTrace
  81. {
  82. };
  83. [Description(
  84. "The ProcessStopTrace event class indicates a process has terminated."),
  85. Locale (0x409)]
  86. class Win32_ProcessStopTrace : Win32_ProcessTrace
  87. {
  88. [read, Description(
  89. "The ExitStatus property contains the exit status of the stopped process ")]
  90. uint32 ExitStatus;
  91. };
  92. [Description(
  93. "The ThreadTrace event class is the base event for thread events."),
  94. Locale (0x409)]
  95. class Win32_ThreadTrace : Win32_SystemTrace
  96. {
  97. [read, Description(
  98. "The ThreadID property contains the thread identifier of "
  99. "the thread involved in the event.")]
  100. uint32 ThreadID;
  101. [read, Description(
  102. "The ProcessID property contains the process identifier of "
  103. "the process to which the thread belongs.")]
  104. uint32 ProcessID;
  105. };
  106. [Description(
  107. "The ThreadStartTrace event class indicates a new thread has started."),
  108. Locale (0x409)]
  109. class Win32_ThreadStartTrace : Win32_ThreadTrace
  110. {
  111. [read, Description(
  112. "The StackBase property indicates the base address of the thread's stack.")]
  113. uint64 StackBase;
  114. [read, Description(
  115. "The StackBase property indicates the limit of the thread's stack.")]
  116. uint64 StackLimit;
  117. [read, Description(
  118. "The UserStackBase property indicates the base address of the thread's "
  119. "user-mode stack.")]
  120. uint64 UserStackBase;
  121. [read, Description(
  122. "The UserStackLimit property indicates the limit of the thread's "
  123. "user-mode stack.")]
  124. uint64 UserStackLimit;
  125. uint64 StartAddr;
  126. uint64 Win32StartAddr;
  127. uint32 WaitMode;
  128. };
  129. [Description(
  130. "The ThreadStopTrace event class indicates a thread has terminated."),
  131. Locale (0x409)]
  132. class Win32_ThreadStopTrace : Win32_ThreadTrace
  133. {
  134. };
  135. [Description(
  136. "The ModuleTrace event class is the base event for module events."),
  137. Locale (0x409)]
  138. class Win32_ModuleTrace : Win32_SystemTrace
  139. {
  140. };
  141. [Description(
  142. "The ModuleLoadTrace event class indicates a process has loaded a new module."),
  143. Locale (0x409)]
  144. class Win32_ModuleLoadTrace : Win32_ModuleTrace
  145. {
  146. [read, Description(
  147. "The ImageBase property indicates the base address where the module "
  148. "was loaded into process memory.")]
  149. uint64 ImageBase;
  150. [read, Description(
  151. "The ImageSize property indicates the size in bytes of the loaded module.")]
  152. uint32 ImageSize;
  153. [read, Description(
  154. "The ProcessID property indentifies the process that loaded the module.")]
  155. uint32 ProcessID;
  156. [read, Description(
  157. "The FileName property indicates the filename of the loaded module.")]
  158. string FileName;
  159. };
  160. instance of __Win32Provider as $KTP
  161. {
  162. Name = "WMI Kernel Trace Event Provider";
  163. Clsid = "{9877D8A7-FDA1-43F9-AEEA-F90747EA66B0}";
  164. HostingModel = "WmiCore";
  165. };
  166. instance of __EventProviderRegistration
  167. {
  168. Provider = $KTP;
  169. EventQueryList =
  170. {
  171. /////////////////////////////////////////////////////////////////////
  172. // Process queries
  173. "select * from Win32_ProcessStartTrace",
  174. "select * from Win32_ProcessStopTrace",
  175. /////////////////////////////////////////////////////////////////////
  176. // Thread queries
  177. "select * from Win32_ThreadStartTrace",
  178. "select * from Win32_ThreadStopTrace",
  179. /////////////////////////////////////////////////////////////////////
  180. // Module queries
  181. "select * from Win32_ModuleLoadTrace"
  182. };
  183. };