// Copyright (c) 2005 DMTF. All rights reserved. // Add UmlPackagePath // qualifier values to CIM Schema. // ================================================================== // CIM_Thread // ================================================================== [UMLPackagePath ( "CIM::System::Processing" ), Version ( "2.7.0" ), 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, Propagated ( "CIM_Process.CSCreationClassName" ), Description ( "The scoping ComputerSystem's CreationClassName."), MaxLen ( 256 )] string CSCreationClassName; [Key, Propagated ( "CIM_Process.CSName" ), Description ( "The scoping ComputerSystem's Name."), MaxLen ( 256 )] string CSName; [Key, Propagated ( "CIM_Process.OSCreationClassName" ), Description ( "The scoping OperatingSystem's CreationClassName."), MaxLen ( 256 )] string OSCreationClassName; [Key, Propagated ( "CIM_Process.OSName" ), Description ( "The scoping OperatingSystem's Name."), MaxLen ( 256 )] string OSName; [Key, Propagated ( "CIM_Process.CreationClassName" ), Description ( "The scoping Process' CreationClassName."), MaxLen ( 256 )] string ProcessCreationClassName; [Key, Propagated ( "CIM_Process.Handle" ), Description ( "The scoping Process' Handle."), MaxLen ( 256 )] 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" )] uint64 KernelModeTime; [Description ( "Time in user mode, in milliseconds. If this information is " "not available, a value of 0 should be used."), Units ( "MilliSeconds" )] uint64 UserModeTime; };