// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved #pragma autorecover #pragma classflags(64) #pragma namespace("\\\\.\\Root\\CIMV2") [Locale(1033) : ToInstance] class Win32_SystemTrace : __ExtrinsicEvent { }; [Locale(1033) : ToInstance] class Win32_ProcessTrace : Win32_SystemTrace { [read : ToSubclass] uint32 ProcessID; [read : ToSubclass] uint32 ParentProcessID; [read : ToSubclass] uint32 SessionID; [read : ToSubclass] uint8 Sid[]; [read : ToSubclass] string ProcessName; }; [Locale(1033) : ToInstance] class Win32_ProcessStartTrace : Win32_ProcessTrace { }; [Locale(1033) : ToInstance] class Win32_ProcessStopTrace : Win32_ProcessTrace { [read : ToSubclass] uint32 ExitStatus; }; [Locale(1033) : ToInstance] class Win32_ThreadTrace : Win32_SystemTrace { [read : ToSubclass] uint32 ThreadID; [read : ToSubclass] uint32 ProcessID; }; [Locale(1033) : ToInstance] class Win32_ThreadStartTrace : Win32_ThreadTrace { [read : ToSubclass] uint64 StackBase; [read : ToSubclass] uint64 StackLimit; [read : ToSubclass] uint64 UserStackBase; [read : ToSubclass] uint64 UserStackLimit; uint64 StartAddr; uint64 Win32StartAddr; uint32 WaitMode; }; [Locale(1033) : ToInstance] class Win32_ThreadStopTrace : Win32_ThreadTrace { }; [Locale(1033) : ToInstance] class Win32_ModuleTrace : Win32_SystemTrace { }; [Locale(1033) : ToInstance] class Win32_ModuleLoadTrace : Win32_ModuleTrace { [read : ToSubclass] uint64 ImageBase; [read : ToSubclass] uint64 ImageSize; [read : ToSubclass] uint32 ProcessID; [read : ToSubclass] string FileName; [read : ToSubclass] uint32 ImageChecksum; [read : ToSubclass] uint32 TimeDateStamp; [read : ToSubclass] uint64 DefaultBase; }; Instance of __Win32Provider as $KTP { Name = "WMI Kernel Trace Event Provider"; Clsid = "{9877D8A7-FDA1-43F9-AEEA-F90747EA66B0}"; HostingModel = "WmiCore"; }; Instance of __EventProviderRegistration { Provider = $KTP; EventQueryList = {"select * from Win32_ProcessStartTrace", "select * from Win32_ProcessStopTrace", "select * from Win32_ThreadStartTrace", "select * from Win32_ThreadStopTrace", "select * from Win32_ModuleLoadTrace"}; }; #pragma autorecover #pragma classflags(64) #pragma namespace("\\\\.\\Root\\CIMV2") instance of __namespace{ name="ms_409";}; #pragma namespace("\\\\.\\Root\\CIMV2\\ms_409") [Description("The SystemTrace class is the base class for all system trace events. System trace events are fired by the kernel logger via the event tracing API.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_SystemTrace : __ExtrinsicEvent { }; [Description("This event is the base event for process events.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ProcessTrace : Win32_SystemTrace { [Description("The ProcessID property identifies the process involved in the event.") : Amended ToSubclass] uint32 ProcessID; [Description("The ParentProcessID property identifies of the process that actuallycaused the event to happen.") : Amended ToSubclass] uint32 ParentProcessID; [Description("The SessionID property identifies the session under which the process exists.") : Amended ToSubclass] uint32 SessionID; [Description("The Sid property is the security identifier representing the user context under which the event happened.") : Amended ToSubclass] uint8 Sid[]; [Description("The ProcessName property contains the name of the process.") : Amended ToSubclass] string ProcessName; }; [Description("The ProcessStartTrace event class indicates a new process has started.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ProcessStartTrace : Win32_ProcessTrace { }; [Description("The ProcessStopTrace event class indicates a process has terminated.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ProcessStopTrace : Win32_ProcessTrace { [Description("The ExitStatus property contains the exit status of the stopped process ") : Amended ToSubclass] uint32 ExitStatus; }; [Description("The ThreadTrace event class is the base event for thread events.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ThreadTrace : Win32_SystemTrace { [Description("The ThreadID property contains the thread identifier of the thread involved in the event.") : Amended ToSubclass] uint32 ThreadID; [Description("The ProcessID property contains the process identifier of the process to which the thread belongs.") : Amended ToSubclass] uint32 ProcessID; }; [Description("The ThreadStartTrace event class indicates a new thread has started.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ThreadStartTrace : Win32_ThreadTrace { [Description("The StackBase property indicates the base address of the thread's stack.") : Amended ToSubclass] uint64 StackBase; [Description("The StackBase property indicates the limit of the thread's stack.") : Amended ToSubclass] uint64 StackLimit; [Description("The UserStackBase property indicates the base address of the thread's user-mode stack.") : Amended ToSubclass] uint64 UserStackBase; [Description("The UserStackLimit property indicates the limit of the thread's user-mode stack.") : Amended ToSubclass] uint64 UserStackLimit; }; [Description("The ThreadStopTrace event class indicates a thread has terminated.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ThreadStopTrace : Win32_ThreadTrace { }; [Description("The ModuleTrace event class is the base event for module events.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ModuleTrace : Win32_SystemTrace { }; [Description("The ModuleLoadTrace event class indicates a process has loaded a new module.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] class Win32_ModuleLoadTrace : Win32_ModuleTrace { [Description("The ImageBase property indicates the base address where the module was loaded into process memory.") : Amended ToSubclass] uint64 ImageBase; [Description("The ImageSize property indicates the size in bytes of the loaded module.") : Amended ToSubclass] uint64 ImageSize; [Description("The ProcessID property indentifies the process that loaded the module.") : Amended ToSubclass] uint32 ProcessID; [Description("The FileName property indicates the filename of the loaded module.") : Amended ToSubclass] string FileName; [Description("NT image checksum (usually set at link time), as listed in the NT image header; it is a hash used to verify the image was not changed or it's the same. Note: This is not a cryptographic hash, therefore it's weak.") : Amended ToSubclass] uint32 ImageChecksum; [Description("NT image timestamp (usually set at link time), as listed in the NT image header; it is a used to identify the binary image along with the original file name and ImageSize, which is also retrieved from the NT image header.") : Amended ToSubclass] uint32 TimeDateStamp; [Description("default load base address, as listed in the NT image header; if the requested address is unavailable the image will be loaded at a different address (ImageBase), causing rebasing.") : Amended ToSubclass] uint64 DefaultBase; };