# Class CIM_Check
extends CIM_ManagedElement

A CIM_Check is a condition or characteristic that is expected to be true in an environment defined or scoped by an instance of a CIM_ComputerSystem. The Checks associated with a particular SoftwareElement are organized into one of two groups using the Phase property of the CIM_SoftwareElementChecks association. Conditions that are expected to be true when a SoftwareElement is in a particular state and environment are known as 'in-state' conditions. Conditions that need to be satisfied in order to transition the SoftwareElement to its next state are known as 'next-state' conditions. A CIM_ComputerSystem object represents the environment in which CIM_SoftwareElements are already deployed/installed or into which the elements will be deployed/installed. For the case in which an element is already installed, the CIM_InstalledSoftwareElement association identifies the CIM_ComputerSystem object that represents the "environment". When a SoftwareElement is being deployed for installation on a ComputerSystem, that system is the target of the Check and is identified using the TargetSystem reference of the InvokeOnSystem method.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_Check

## Direct Known Subclasses

CIM_ArchitectureCheck
CIM_DirectorySpecification
CIM_DiskSpaceCheck
CIM_FileSpecification
CIM_MemoryCheck
CIM_OSVersionCheck
CIM_SettingCheck
CIM_SoftwareElementVersionCheck
CIM_SwapSpaceCheck
CIM_VersionCompatibilityCheck

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Abstract | boolean | true
Description | string | A CIM_Check is a condition or characteristic that is expected to be true in an environment defined or scoped by an instance of a CIM_ComputerSystem. The Checks associated with a particular SoftwareElement are organized into one of two groups using the Phase property of the CIM_SoftwareElementChecks association. Conditions that are expected to be true when a SoftwareElement is in a particular state and environment are known as 'in-state' conditions. Conditions that need to be satisfied in order to transition the SoftwareElement to its next state are known as 'next-state' conditions. A CIM_ComputerSystem object represents the environment in which CIM_SoftwareElements are already deployed/installed or into which the elements will be deployed/installed. For the case in which an element is already installed, the CIM_InstalledSoftwareElement association identifies the CIM_ComputerSystem object that represents the "environment". When a SoftwareElement is being deployed for installation on a ComputerSystem, that system is the target of the Check and is identified using the TargetSystem reference of the InvokeOnSystem method.
UMLPackagePath | string | CIM::Application::CheckAction
Version | string | 2.23.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
CheckID | string |
Description | string | An identifier used in conjunction with other keys to uniquely identify the Check.
Key | boolean | true
MaxLen | uint32 | 256
CheckMode | boolean |
Description | string | The CheckMode property is used to indicate whether the condition is expected to exist or not exist in the environment. When the value is True, the condition is expected to exist (e.g., a file is expected to be on a system), so the Invoke methods are expected to return True. When the value is False, the condition is not expected to exist (e.g., a file is not to be on a system), so the Invoke methods are expected to return False.
Name | string |
Description | string | The name used to identify the SoftwareElement that is being checked.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_SoftwareElement.Name
SoftwareElementID | string |
Description | string | This is an identifier for the SoftwareElement being checked.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_SoftwareElement.SoftwareElementID
SoftwareElementState | uint16 |
Description | string | The SoftwareElementState of the SoftwareElement being checked.
Key | boolean | true
Propagated | string | CIM_SoftwareElement.SoftwareElementState
ValueMap | string | 0, 1, 2, 3
Values | string | Deployable, Installable, Executable, Running
TargetOperatingSystem | uint16 |
Description | string | The Target Operating System of the SoftwareElement being checked.
Key | boolean | true
Propagated | string | CIM_SoftwareElement.TargetOperatingSystem
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121
Values | string | Unknown, Other, MACOS, ATTUNIX, DGUX, DECNT, Tru64 UNIX, OpenVMS, HPUX, AIX, MVS, OS400, OS/2, JavaVM, MSDOS, WIN3x, WIN95, WIN98, WINNT, WINCE, NCR3000, NetWare, OSF, DC/OS, Reliant UNIX, SCO UnixWare, SCO OpenServer, Sequent, IRIX, Solaris, SunOS, U6000, ASERIES, HP NonStop OS, HP NonStop OSS, BS2000, LINUX, Lynx, XENIX, VM, Interactive UNIX, BSDUNIX, FreeBSD, NetBSD, GNU Hurd, OS9, MACH Kernel, Inferno, QNX, EPOC, IxWorks, VxWorks, MiNT, BeOS, HP MPE, NextStep, PalmPilot, Rhapsody, Windows 2000, Dedicated, OS/390, VSE, TPF, Windows (R) Me, Caldera Open UNIX, OpenBSD, Not Applicable, Windows XP, z/OS, Microsoft Windows Server 2003, Microsoft Windows Server 2003 64-Bit, Windows XP 64-Bit, Windows XP Embedded, Windows Vista, Windows Vista 64-Bit, Windows Embedded for Point of Service, Microsoft Windows Server 2008, Microsoft Windows Server 2008 64-Bit, FreeBSD 64-Bit, RedHat Enterprise Linux, RedHat Enterprise Linux 64-Bit, Solaris 64-Bit, SUSE, SUSE 64-Bit, SLES, SLES 64-Bit, Novell OES, Novell Linux Desktop, Sun Java Desktop System, Mandriva, Mandriva 64-Bit, TurboLinux, TurboLinux 64-Bit, Ubuntu, Ubuntu 64-Bit, Debian, Debian 64-Bit, Linux 2.4.x, Linux 2.4.x 64-Bit, Linux 2.6.x, Linux 2.6.x 64-Bit, Linux 64-Bit, Other 64-Bit, Microsoft Windows Server 2008 R2, VMware ESXi, Microsoft Windows 7, CentOS 32-bit, CentOS 64-bit, Oracle Linux 32-bit, Oracle Linux 64-bit, eComStation 32-bitx, Microsoft Windows Server 2011, Microsoft Windows Server 2012, Microsoft Windows 8, Microsoft Windows 8 64-bit, Microsoft Windows Server 2012 R2, Microsoft Windows Server 2016, Microsoft Windows 8.1, Microsoft Windows 8.1 64-bit, Microsoft Windows 10, Microsoft Windows 10 64-bit
Version | string |
Description | string | The version of the SoftwareElement being checked.
Key | boolean | true
MaxLen | uint32 | 64
Propagated | string | CIM_SoftwareElement.Version

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
Description | string | CIM_ManagedElement
ElementName | string | CIM_ManagedElement
Generation | uint64 | CIM_ManagedElement
InstanceID | string | CIM_ManagedElement

## Class Methods

### Local Class Methods

#### Invoke (uint32)

#### Method Qualifiers (Invoke)

Name | Data Type | Value
--- | --- | ---
Description | string | The Invoke method evaluates this Check. The details of the evaluation are described by the specific subclasses of CIM_Check. When the SoftwareElement being checked is already installed, the CIM_InstalledSoftwareElement association identifies the CIM_ComputerSystem in whose context the Invoke is executed. If this association is not in place, then the InvokeOnSystem method should be used - since it identifies the TargetSystem as an input parameter of the method. The results of the Invoke method are based on the return value. A zero is returned if the condition is satisfied. A one is returned if the method is not supported. Any other value indicates the condition is not satisfied.

#### Method Parameters (Invoke)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value

#### InvokeOnSystem (uint32)

#### Method Qualifiers (InvokeOnSystem)

Name | Data Type | Value
--- | --- | ---
Description | string | The InvokeOnSystem method evaluates this Check. The details of the evaluation are described by the specific subclasses of CIM_Check. The method's TargetSystem input parameter specifies the ComputerSystem in whose context the method is invoked. The results of the InvokeOnSystem method are based on the return value. A zero is returned if the condition is satisfied. A one is returned if the method is not supported. Any other value indicates the condition is not satisfied.

#### Method Parameters (InvokeOnSystem)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
TargetSystem | REF CIM_ComputerSystem
Description | string | Reference to ComputerSystem in whose context the method is to be invoked.
IN | boolean | true