# Class CIM_TPM
extends CIM_LogicalDevice

A class derived from CIM_LogicalDevice that describes the Trusted Platform Module (TPM) hardware as defined by the Trusted Computing Group (TCG).

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

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_AllocatedLogicalElement
|
+--CIM_LogicalDevice
|
+--CIM_TPM

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A class derived from CIM_LogicalDevice that describes the Trusted Platform Module (TPM) hardware as defined by the Trusted Computing Group (TCG).
Experimental | boolean | true
UMLPackagePath | string | CIM::Device::TPM
Version | string | 2.21.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
TPMManafucturerMajorRevision | uint32 |
Description | string | The TPM manufacturer's major revision.
MappingStrings | string | TPM.TCG|Part 2 v1dot2|Section 5.3|version|revMajor
TPMManufacturerId | uint32 |
Description | string | The TPM manufacturer Identifier as defined by the TCG.
MappingStrings | string | TPM.TCG|Part 2 v1dot2|Section 21.6|TPM_CAP_VERSION_INFO|tpmVendorID
TPMManufacturerInfo | string |
Description | string | The additional information defined by the TPM manufacturer.
MappingStrings | string | TPM.TCG|Part 2 v1.2.TCG|Section 21.6|TPM_CAP_VERSION_INFO|vendorSpecific
TPMManufacturerMinorRevision | uint32 |
Description | string | The TPM manufacturer's minor revision.
MappingStrings | string | TPM.TCG|Part 2 v1dot2|Section 5.3|version|revMinor
TPMSpecMajorVersion | uint32 |
Description | string | The TPM specification's major version to which the TPM device claims to be conformant.
MappingStrings | string | TPM.TCG|Part 2 v1dot2|Section 5.3|version|major, TSS.TCG|Level 1 v1.2|Section 2.3.2.18
TPMSpecMinorVersion | uint32 |
Description | string | The TPM specification's minor version to which the TPM device claims to be conformant.
MappingStrings | string | TPM.TCG|Part 2 v1dot2|Section 5.3|version|minor, TSS.TCG|Level 1 v1.2|Section 2.3.2.18
TPMState | uint16 |
Description | string | Indicates the TPM's operational mode by indicating whether TPM is Enabled, Active and Owned.
MappingStrings | string | TPM.TCG|Part 1 v1dot2|Section 9.4, TPM.TCG|Part 2 v1dot2|Section 7.1|TPM_PERMANENT_FLAGS
ModelCorrespondence | string | CIM_TPM.RequestTPMStateChange, CIM_TPM.TransitioningToTPMState
ValueMap | string | 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, .., 32768..65535
Values | string | Unknown, S1 Enabled-Active-Owned, S2 Disabled-Active-Owned, S3 Enabled-Inactive-Owned, S4 Disabled-Inactive-Owned, S5 Enabled-Active-Unowned, S6 Disabled-Active-Unowned, S7 Enabled-Inactive-Unowned, S8 Disabled-Inactive-Unowned, Not Applicable, DMTF Reserved, Vendor Reserved
TransitioningToTPMState | uint16 | 12
Description | string | TransitioningToState indicates the TPM's target state to which the TPM is transitioning. A value of 11 "No Change" shall indicate that no transition is in progress.A value of 12 "Not Applicable" shall indicate the implementation does not support representing ongoing transitions. A value other than 11 or 10 shall identify the state to which the element is in the process of transitioning.
ModelCorrespondence | string | CIM_TPM.RequestTPMStateChange, CIM_TPM.TPMState
ValueMap | string | 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, .., 32768..65535
Values | string | Unknown, S1 Enabled-Active-Owned, S2 Disabled-Active-Owned, S3 Enabled-Inactive-Owned, S4 Disabled-Inactive-Owned, S5 Enabled-Active-Unowned, S6 Disabled-Active-Unowned, S7 Enabled-Inactive-Unowned, S8 Disabled-Inactive-Unowned, Not Applicable, No Change, DMTF Reserved, Vendor Reserved
AvailableRequestedTPMStates | uint16[] |
Description | string | AvailableRequestedTPMStates indicates the possible values for the RequestedTPMState parameter of the method RequestTPMStateChange, used to initiate a state change. The values listed shall be a subset of the values contained in the RequestedTPMStatesSupported property of the associated instance of CIM_TPMCapabilities where the values selected are a function of the current TPM state of the TPM.
ModelCorrespondence | string | CIM_TPM.RequestTPMStateChange, CIM_TPMCapabilities.RequestedTPMStatesSupported
ValueMap | string | 0, 2, 3, 4, 5, 6, 7, 8, 9, .., 32768..65535
Values | string | Unknown, S1 Enabled-Active-Owned, S2 Disabled-Active-Owned, S3 Enabled-Inactive-Owned, S4 Disabled-Inactive-Owned, S5 Enabled-Active-Unowned, S6 Disabled-Active-Unowned, S7 Enabled-Inactive-Unowned, S8 Disabled-Inactive-Unowned, DMTF Reserved, Vendor Reserved

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
AllocationState | string | CIM_LogicalDevice
Availability | uint16 | CIM_LogicalDevice
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_LogicalDevice
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
DeviceID | string | CIM_LogicalDevice
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
ErrorCleared | boolean | CIM_LogicalDevice
ErrorDescription | string | CIM_LogicalDevice
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
LastErrorCode | uint32 | CIM_LogicalDevice
LocationIndicator | uint16 | CIM_LogicalDevice
MaxQuiesceTime | uint64 | CIM_LogicalDevice
Name | string | CIM_ManagedSystemElement
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PowerManagementSupported | boolean | CIM_LogicalDevice
PowerOnHours | uint64 | CIM_LogicalDevice
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Status | string | CIM_ManagedSystemElement
StatusInfo | uint16 | CIM_LogicalDevice
SystemCreationClassName | string | CIM_LogicalDevice
SystemName | string | CIM_LogicalDevice
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TotalPowerOnHours | uint64 | CIM_LogicalDevice
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AdditionalAvailability | uint16[] | CIM_LogicalDevice
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
IdentifyingDescriptions | string[] | CIM_LogicalDevice
OperationalStatus | uint16[] | CIM_ManagedSystemElement
OtherIdentifyingInfo | string[] | CIM_LogicalDevice
PowerManagementCapabilities | uint16[] | CIM_LogicalDevice
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### RequestTPMStateChange (uint32)

#### Method Qualifiers (RequestTPMStateChange)

Name | Data Type | Value
--- | --- | ---
Description | string | Requests that the state of the TPM be changed to the value specified in the RequestedTPMState parameter. If the method invokation completes successfuly, the TPMState property shall be equal to the RequestedTPMState parameter. Invoking the RequestTPMStateChange method multiple times could result in earlier requests being overwritten or lost. A return code of 0 shall indicate the state change was successfully initiated. A return code of 3 shall indicate that the state transition cannot complete within the interval specified by the TimeoutPeriod parameter. A return code of 4096 (0x1000) shall indicate the state change was successfully initiated, a ConcreteJob has been created, and its reference returned in the output parameter Job. Any other return code indicates an error condition.
ModelCorrespondence | string | CIM_TPM.TPMState
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099, 4100..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown or Unspecified Error, Cannot complete within Timeout Period, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Invalid State Transition, Use of Timeout Parameter Not Supported, Busy, Method Reserved, Vendor Specific

#### Method Parameters (RequestTPMStateChange)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
AuthorizationToken | string
Description | string | Authorization token that may be required for the action to take effect. The AuthorizationToken parameter may be required to establish Physical Presence, or to pass the OwnerAuth, the TCG defined owner authorization password. In the case of OwnerAuth, the CIM_SharedCredential with non-null value of the CIM_SharedCredential.Secret may be required. The CIM_SharedCredential.Algorithm property may also be specified based on the property CIM_TPMCapabilities.SupportedPasswordAlgorithms.
EmbeddedInstance | string | CIM_Credential
IN | boolean | true
RequestedTPMState | uint16
Description | string | The requested TPM states.
IN | boolean | true
Required | boolean | true
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, .., 32768..65535
Values | string | S1 Enabled-Active-Owned, S2 Disabled-Active-Owned, S3 Enabled-Inactive-Owned, S4 Disabled-Inactive-Owned, S5 Enabled-Active-Unowned, S6 Disabled-Active-Unowned, S7 Enabled-Inactive-Unowned, S8 Disabled-Inactive-Unowned, DMTF Reserved, Vendor Reserved
TimeoutPeriod | datetime
Description | string | A timeout period that specifies the maximum amount of time that the client expects the transition to the new state to take. The interval format must be used to specify the TimeoutPeriod. A value of 0 or a null parameter indicates that the client has no time requirements for the transition.
IN | boolean | true
Job | REF CIM_ConcreteJob
Description | string | May contain a reference to the ConcreteJob created to track the state transition initiated by the method invocation.
IN | boolean | false
OUT | boolean | true

#### ChangeOwnerAuth (uint32)

#### Method Qualifiers (ChangeOwnerAuth)

Name | Data Type | Value
--- | --- | ---
Description | string | This method changes the owner authorization credential of the TPM device. The old and new owner authorization passwords are required.Reference: See Section 17 (Changing AuthData) of Spec (#3).
ValueMap | string | 0, 1, 2, 3..4095, 4096..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown/Unspecified Error, DMTF Reserved, Method Reserved, Vendor Specified

#### Method Parameters (ChangeOwnerAuth)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
NewOwnerAuth | string
Description | string | NewOwnerAuth represents new owner authorization credential required to take ownership of the TPM device.The CIM_SharedCredential subclass may be required with non-null value of the CIM_SharedCredential.Secret property for the parameter.
EmbeddedInstance | string | CIM_Credential
IN | boolean | true
Required | boolean | true
OldOwnerAuth | string
Description | string | OldOwnerAuth represents old owner authorization credential required to take ownership of the TPM device.The CIM_SharedCredential subclass may be required with non-null value of the CIM_SharedCredential.Secret property for the parameter.
EmbeddedInstance | string | CIM_Credential
IN | boolean | true
Required | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
EnableDevice | uint32 | CIM_LogicalDevice
OnlineDevice | uint32 | CIM_LogicalDevice
QuiesceDevice | uint32 | CIM_LogicalDevice
RequestStateChange | uint32 | CIM_EnabledLogicalElement
Reset | uint32 | CIM_LogicalDevice
RestoreProperties | uint32 | CIM_LogicalDevice
SaveProperties | uint32 | CIM_LogicalDevice
SetPowerState | uint32 | CIM_LogicalDevice