// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved

#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\Root\\CIMV2")
instance of __namespace{ name="ms_804";};
#pragma namespace("\\\\.\\Root\\CIMV2\\ms_804")

[Description("SystemTrace 类是所有系统跟踪事件的基类。系统跟踪事件由内核记录程序通过事件跟踪 API 触发。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_SystemTrace : __ExtrinsicEvent
{
};

[Description("此事件是进程事件的基本事件。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ProcessTrace : Win32_SystemTrace
{
  [Description("ProcessID 属性标识事件中涉及的进程。") : Amended ToSubclass] uint32 ProcessID;
  [Description("ParentProcessID 属性标识实际导致事件发生的进程。") : Amended ToSubclass] uint32 ParentProcessID;
  [Description("SessionID 属性标识该进程所在的会话。") : Amended ToSubclass] uint32 SessionID;
  [Description("Sid 属性是表示发生事件的用户上下文的安全标识符。") : Amended ToSubclass] uint8 Sid[];
  [Description("ProcessName 属性包含进程的名称。") : Amended ToSubclass] string ProcessName;
};

[Description("ProcessStartTrace 事件类表示新进程已启动。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ProcessStartTrace : Win32_ProcessTrace
{
};

[Description("ProcessStopTrace 事件类表示进程已终止。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ProcessStopTrace : Win32_ProcessTrace
{
  [Description("ExitStatus 属性包含已停止进程的退出状态 ") : Amended ToSubclass] uint32 ExitStatus;
};

[Description("ThreadTrace 事件类是线程事件的基本事件。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ThreadTrace : Win32_SystemTrace
{
  [Description("ThreadID 属性包含事件中涉及的线程的线程标识符。") : Amended ToSubclass] uint32 ThreadID;
  [Description("ProcessID 属性包含线程所属进程的进程标识符。") : Amended ToSubclass] uint32 ProcessID;
};

[Description("ThreadStartTrace 事件类指示新线程已启动。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ThreadStartTrace : Win32_ThreadTrace
{
  [Description("StackBase 属性指示线程堆栈的基址。") : Amended ToSubclass] uint64 StackBase;
  [Description("StackBase 属性指示线程堆栈的限制。") : Amended ToSubclass] uint64 StackLimit;
  [Description("UserStackBase 属性指示线程的用户模式堆栈的基址。") : Amended ToSubclass] uint64 UserStackBase;
  [Description("UserStackLimit 属性指示线程的用户模式堆栈的限制。") : Amended ToSubclass] uint64 UserStackLimit;
};

[Description("ThreadStopTrace 事件类指示线程已终止。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ThreadStopTrace : Win32_ThreadTrace
{
};

[Description("ModuleTrace 事件类是模块事件的基本事件。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ModuleTrace : Win32_SystemTrace
{
};

[Description("ModuleLoadTrace 事件类指示进程已加载了一个新模块。") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_ModuleLoadTrace : Win32_ModuleTrace
{
  [Description("ImageBase 属性指示模块已加载到的进程内存中的基址。") : Amended ToSubclass] uint64 ImageBase;
  [Description("ImageSize 属性指示已加载模块的大小(以字节为单位)。") : Amended ToSubclass] uint64 ImageSize;
  [Description("ProcessID 属性标识已加载模块的进程。") : Amended ToSubclass] uint32 ProcessID;
  [Description("FileName 属性指示已加载的模块的文件名。") : Amended ToSubclass] string FileName;
  [Description("NT 映像校验和(通常在链接时设置)，如 NT 映像标头中所列；它是哈希，用于验证映像是否尚未更改或是否是同一个。注意: 这不是加密的哈希，因此是较弱的。") : Amended ToSubclass] uint32 ImageChecksum;
  [Description("NT 映像时间戳(通常在链接时设置)，如 NT 映像标头中所列；它用于标识二进制映像以及原始文件名和映像大小，这些信息也可以从 NT 映像标头中检索。") : Amended ToSubclass] uint32 TimeDateStamp;
  [Description("默认加载基址，如 NT 映像标头中所列；如果请求的地址不可用，则映像将在其他地址(ImageBase)加载，从而导致重新设定基址。") : Amended ToSubclass] uint64 DefaultBase;
};
