// Copyright (c) 2005 DMTF. All rights reserved. [Version ( "2.7.0" ), UMLPackagePath ( "CIM::System::Processing" ), Description ( "Threads represent the ability to execute units of a Process or " "task in parallel. A Process can have many Threads, each of " "which is weak to the Process." )] class CIM_Thread : CIM_EnabledLogicalElement { [Key, Description ( "The scoping ComputerSystem\'s CreationClassName." ), MaxLen ( 256 ), Propagated ( "CIM_Process.CSCreationClassName" )] string CSCreationClassName; [Key, Description ( "The scoping ComputerSystem\'s Name." ), MaxLen ( 256 ), Propagated ( "CIM_Process.CSName" )] string CSName; [Key, Description ( "The scoping OperatingSystem\'s CreationClassName." ), MaxLen ( 256 ), Propagated ( "CIM_Process.OSCreationClassName" )] string OSCreationClassName; [Key, Description ( "The scoping OperatingSystem\'s Name." ), MaxLen ( 256 ), Propagated ( "CIM_Process.OSName" )] string OSName; [Key, Description ( "The scoping Process\' CreationClassName." ), MaxLen ( 256 ), Propagated ( "CIM_Process.CreationClassName" )] string ProcessCreationClassName; [Key, Description ( "The scoping Process\' Handle." ), MaxLen ( 256 ), Propagated ( "CIM_Process.Handle" )] string ProcessHandle; [Key, Description ( "CreationClassName indicates the name of the class or the " "subclass used in the creation of an instance. When used " "with the other key properties of this class, this " "property allow all instances of this class and its " "subclasses to be uniquely identified." ), MaxLen ( 256 )] string CreationClassName; [Key, Description ( "A string used to identify the Thread." ), MaxLen ( 256 )] string Handle; [Description ( "Priority indicates the urgency or importance of " "execution of a Thread. A Thread may have a different " "priority than its owning Process. If this information is " "not available for a Thread, a value of 0 should be used." )] uint32 Priority; [Description ( "Indicates the current operating condition of the Thread. " "Values include ready (2), running (3), and blocked (4), " "among others. The majority of the enumerated values are " "obvious. However, a few require additional explanation: \n" "7 (Ready but Relinquished Processor) describes that a " "thread is in the Ready state, but has voluntarily " "relinquished execution time to other threads. For " "example, this state may indicate a problem when the " "relinquishing thread is not handling items on its " "queues. If these semantics cannot be detected, the " "thread should report its state as 2 (\"Ready\"). \n" "8 (Hung) indicates that a thread is not responding." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, Values { "Unknown", "Other", "Ready", "Running", "Blocked", "Suspended Blocked", "Suspended Ready", "Ready But Relinquished Processor", "Hung" }] uint16 ExecutionState; [Description ( "Time in kernel mode, in milliseconds. If this " "information is not available, a value of 0 should be " "used." ), Units ( "MilliSeconds" ), PUnit ( "second * 10^-3" )] uint64 KernelModeTime; [Description ( "Time in user mode, in milliseconds. If this information " "is not available, a value of 0 should be used." ), Units ( "MilliSeconds" ), PUnit ( "second * 10^-3" )] uint64 UserModeTime; };