# Class CIM_LogicalDevice
extends CIM_AllocatedLogicalElement

An abstraction or emulation of a hardware entity, that might or might not be Realized in physical hardware. Any characteristics of a LogicalDevice that are used to manage its operation or configuration are contained in, or associated with, the LogicalDevice object. Examples of the operational properties of a Printer would be paper sizes supported or detected errors. Examples of the configuration properties of a Sensor Device would be threshold settings. Various configurations could exist for a LogicalDevice. These configurations could be contained in Setting objects and associated with the LogicalDevice.

### 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

## Direct Known Subclasses

CIM_AlarmDevice
CIM_Battery
CIM_Controller
CIM_CoolingDevice
CIM_Door
CIM_IndicatorLED
CIM_LabelReader
CIM_LogicalModule
CIM_LogicalPort
CIM_MediaAccessDevice
CIM_MediaTransferDevice
CIM_Modem
CIM_NetworkAdapter
CIM_PowerSource
CIM_Printer
CIM_Processor
CIM_ProtocolController
CIM_SASPHY
CIM_Scanner
CIM_SCSIArbitraryLogicalUnit
CIM_Sensor
CIM_StorageExtent
CIM_USBDevice
CIM_UserDevice
CIM_VideoHead
CIM_Watchdog
CIM_WiFiRadio

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Abstract | boolean | true
Description | string | An abstraction or emulation of a hardware entity, that might or might not be Realized in physical hardware. Any characteristics of a LogicalDevice that are used to manage its operation or configuration are contained in, or associated with, the LogicalDevice object. Examples of the operational properties of a Printer would be paper sizes supported or detected errors. Examples of the configuration properties of a Sensor Device would be threshold settings. Various configurations could exist for a LogicalDevice. These configurations could be contained in Setting objects and associated with the LogicalDevice.
UMLPackagePath | string | CIM::Core::Device
Version | string | 2.45.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
AllocationState | string |
Description | string | Allocation state of the logical device.
EmbeddedInstance | string | CIM_ResourceAllocationSettingData
Override | string | AllocationState
Availability | uint16 |
Deprecated | string | CIM_AssociatedPowerManagementService.PowerState, CIM_ManagedSystemElement.OperationalStatus, CIM_EnabledLogicalElement.EnabledState
Description | string | Note: The use of this property has been deprecated. Deprecated description: The primary availability and status of the Device. (Additional status information can be specified using the Additional Availability array property.) For example, the Availability property indicates that the Device is running and has full power (value=3), or is in a warning (4), test (5), degraded (10) or power save state (values 13-15 and 17). The Power Save states are defined as follows: Value 13 ("Power Save - Unknown") indicates that the Device is known to be in a power save mode, but its exact status in this mode is unknown; value 14 ("Power Save - Low Power Mode") indicates that the Device is in a power save state but still functioning, and might exhibit degraded performance; value 15 ("Power Save - Standby") indicates that the Device is not functioning but could be brought to full power 'quickly'; and value 17 ("Power Save - Warning") indicates that the Device is in a warning state, but is also in a power save mode.
MappingStrings | string | MIF.DMTF|Operational State|006.5, MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus, MIF.DMTF|Host Device|001.5
ModelCorrespondence | string | CIM_LogicalDevice.AdditionalAvailability
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
Values | string | Other, Unknown, Running/Full Power, Warning, In Test, Not Applicable, Power Off, Off Line, Off Duty, Degraded, Not Installed, Install Error, Power Save - Unknown, Power Save - Low Power Mode, Power Save - Standby, Power Cycle, Power Save - Warning, Paused, Not Ready, Not Configured, Quiesced
CreationClassName | string |
Description | string | 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 allows all instances of this class and its subclasses to be uniquely identified.
Key | boolean | true
MaxLen | uint32 | 256
DeviceID | string |
Description | string | An address or other identifying information used to uniquely name the LogicalDevice.
Key | boolean | true
MaxLen | uint32 | 64
ErrorCleared | boolean |
Deprecated | string | CIM_ManagedSystemElement.OperationalStatus
Description | string | Note: The use of this method is deprecated. Deprecated description: ErrorCleared is a Boolean property that indicates that the error reported in LastErrorCode is now cleared.
ErrorDescription | string |
Deprecated | string | CIM_DeviceErrorData.ErrorDescription
Description | string | Note: The use of this method is deprecated. Deprecated description: ErrorDescription is a free-form string that supplies more information about the error recorded in LastErrorCode and information on any corrective actions that can be taken.
LastErrorCode | uint32 |
Deprecated | string | CIM_DeviceErrorData.LastErrorCode
Description | string | Note: The use of this method is deprecated. Deprecated description: LastErrorCode captures the last error code reported by the LogicalDevice.
LocationIndicator | uint16 |
Description | string | An integer that reflects the state of an indicator (e.g., LED) that is part of a device. Reading the value gives the current state. Writing the value with 'On'/'Off' turns the indicator on/off, other values may not be written.
ModelCorrespondence | string | CIM_AlarmDevice.AlarmState, CIM_AlarmDevice.AudioIndicatorIsDisabled, CIM_AlarmDevice.VisualIndicatorIsDisabled, CIM_AlarmDevice.MotionIndicatorIsDisabled
ValueMap | string | 0, 2, 3, 4
Values | string | Unknown, On, Off, Not Supported
Write | boolean | true
MaxQuiesceTime | uint64 |
Deprecated | string | No value
Description | string | Note: The use of this property has been deprecated. When evaluating the use of Quiesce, it was determined that this single property is not adequate for describing when a device will automatically exit a quiescent state. In fact, the most likely scenario for a device to exit a quiescent state was determined to be based on the number of outstanding requests queued rather than on a maximum time. This decision will be re-evaluated and repositioned later. Deprecated description: Maximum time, in milliseconds, that a Device can run in a "Quiesced" state. The state is defined in its Availability and AdditionalAvailability properties, where "Quiesced" is conveyed by the value 21. What occurs at the end of the time limit is device-specific. The Device can unquiesce, can be offline, or can take other actions. A value of 0 indicates that a Device can remain quiesced indefinitely.
PUnit | string | second * 10^-3
Units | string | MilliSeconds
PowerManagementSupported | boolean |
Deprecated | string | CIM_PowerManagementCapabilities.PowerStatesSupported
Description | string | Note: The use of this property has been deprecated. Instead, the existence of an associated PowerManagementCapabilities class (associated using the ElementCapabilities relationship) indicates that power management is supported. Deprecated description: Boolean that indicates that the Device can use power management.
PowerOnHours | uint64 |
Counter | boolean | true
Deprecated | string | CIM_PoweredStatisticalData.PowerOnHours
Description | string | Note: The use of this method is deprecated. Deprecated description: The number of consecutive hours that this Device has been powered on since its last power cycle.
PUnit | string | hour
Units | string | Hours
StatusInfo | uint16 |
Deprecated | string | CIM_EnabledLogicalElement.EnabledState
Description | string | Note: The use of this method is deprecated in lieu of a more clearly named property (EnabledState) that is inherited from ManagedSystemElement and that has additional enumerated values. Deprecated description: The StatusInfo property indicates whether the Logical Device is in an enabled state (value=3), disabled state (value=4), some other state (value=1), or an unknown state (value=2). If this property does not apply to the LogicalDevice, the value 5 ("Not Applicable") should be used. If a Device is ("Enabled")(value=3), it has been powered up and is configured and operational. The Device might or might not be functionally active, depending on whether its Availability (or AdditionalAvailability) indicates that it is ("Running/Full Power")(value=3) or ("Off line") (value=8). In an enabled but offline mode, a Device might be performing out-of-band requests, such as running Diagnostics. If StatusInfo is ("Disabled") (value=4), a Device can only be "enabled" or powered off. In a personal computer environment, ("Disabled") means that the driver of the device is not available in the stack. In other environments, a Device can be disabled by removing its configuration file. A disabled device is physically present in a System and consuming resources, but it cannot be communicated with until a driver is loaded, a configuration file is loaded, or some other "enabling" activity has occurred.
MappingStrings | string | MIF.DMTF|Operational State|006.4
ValueMap | string | 1, 2, 3, 4, 5
Values | string | Other, Unknown, Enabled, Disabled, Not Applicable
SystemCreationClassName | string |
Description | string | The CreationClassName of the scoping system.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_System.CreationClassName
SystemName | string |
Description | string | The System Name of the scoping system.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_System.Name
TotalPowerOnHours | uint64 |
Counter | boolean | true
Deprecated | string | CIM_PoweredStatisticalData.TotalPowerOnHours
Description | string | Note: The use of this method is deprecated. Deprecated description: The total number of hours that this Device has been powered on.
PUnit | string | hour
Units | string | Hours
AdditionalAvailability | uint16[] |
Description | string | Additional availability and status of the Device in addition to that specified in the Availability property. The Availability property denotes the primary status and availability of the Device. In some cases, this property will not be sufficient to denote the complete status of the Device. In those cases, the AdditionalAvailability property can be used to provide further information. For example, the primary Availability of a device might be "Off line" (value=8) or in a low-power state (AdditionalAvailability value=14), or the Device could be running Diagnostics (AdditionalAvailability value=5, "In Test").
ModelCorrespondence | string | CIM_LogicalDevice.Availability
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
Values | string | Other, Unknown, Running/Full Power, Warning, In Test, Not Applicable, Power Off, Off Line, Off Duty, Degraded, Not Installed, Install Error, Power Save - Unknown, Power Save - Low Power Mode, Power Save - Standby, Power Cycle, Power Save - Warning, Paused, Not Ready, Not Configured, Quiesced
IdentifyingDescriptions | string[] |
ArrayType | string | Indexed
Description | string | An array of free-form strings providing explanations and details behind the entries in the OtherIdentifyingInfo array. Note that each entry of this array is related to the entry in OtherIdentifyingInfo that is located at the same index.
ModelCorrespondence | string | CIM_LogicalDevice.OtherIdentifyingInfo
OtherIdentifyingInfo | string[] |
ArrayType | string | Indexed
Description | string | OtherIdentifyingInfo captures data, in addition to DeviceID information, that could be used to identify a LogicalDevice. For example, you could use this property to hold the operating system's user-friendly name for the Device.
MaxLen | uint32 | 256
ModelCorrespondence | string | CIM_LogicalDevice.IdentifyingDescriptions
PowerManagementCapabilities | uint16[] |
Deprecated | string | CIM_PowerManagementCapabilities.PowerCapabilities
Description | string | Note: The use of this property has been deprecated. Instead, use the PowerCapabilites property in an associated PowerManagementCapabilities class. Deprecated description: An enumerated array describing the power management capabilities of the Device.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7
Values | string | Unknown, Not Supported, Disabled, Enabled, Power Saving Modes Entered Automatically, Power State Settable, Power Cycling Supported, Timed Power On Supported

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_ManagedSystemElement
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Status | string | CIM_ManagedSystemElement
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### SetPowerState (uint32)

#### Method Qualifiers (SetPowerState)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_PowerManagementService.SetPowerState
Description | string | Note: The use of this method has been deprecated. Instead, use the SetPowerState method in the associated PowerManagementService class. Deprecated description: Sets the power state of the Device.

#### Method Parameters (SetPowerState)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
PowerState | uint16
Description | string | The power state to set.
ValueMap | string | 1, 2, 3, 4, 5, 6
Values | string | Full Power, Power Save - Low Power Mode, Power Save - Standby, Power Save - Other, Power Cycle, Power Off
Time | datetime
Description | string | Time indicates when the power state should be set, either as a regular date-time value or as an interval value (where the interval begins when the method invocation is received).

#### Reset (uint32)

#### Method Qualifiers (Reset)

Name | Data Type | Value
--- | --- | ---
Description | string | Requests a reset of the LogicalDevice. The return value should be 0 if the request was successfully executed, 1 if the request is not supported, and some other value if an error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' can also be specified in the subclass as a Values array qualifier.

#### Method Parameters (Reset)

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

#### EnableDevice (uint32)

#### Method Qualifiers (EnableDevice)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_EnabledLogicalElement.RequestStateChange
Description | string | Note: The use of this method has been deprecated in lieu of the more general RequestStateChange method that directly overlaps with the functionality provided by this method. Deprecated description: Requests that the LogicalDevice be enabled ("Enabled" input parameter=TRUE) or disabled (=FALSE). If successful, the StatusInfo or EnabledState properties of the Device should reflect the desired state (enabled or disabled). Note that this function overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (for example, a persisted value) of the last state request. Invoking the EnableDevice method should set the RequestedState property appropriately. The return code should be 0 if the request was successfully executed, 1 if the request is not supported, and some other value if an error occurred. In a subclass, the set of possible return codes could be specified by using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' can also be specified in the subclass as a Values array qualifier.

#### Method Parameters (EnableDevice)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Enabled | boolean
Description | string | If TRUE, enable the device. If FALSE, disable the device.

#### OnlineDevice (uint32)

#### Method Qualifiers (OnlineDevice)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_EnabledLogicalElement.RequestStateChange
Description | string | Note: The use of this method has been deprecated in lieu of the more general RequestStateChange method that directly overlaps with the functionality provided by this method. Deprecated description: Requests that the LogicalDevice be brought online ("Online" input parameter=TRUE) or taken offline (=FALSE). "Online" indicates that the Device is ready to accept requests, and is operational and fully functioning. In this case, the Availability property of the Device would be set to a value of 3 ("Running/Full Power"). "Offline" indicates that a Device is powered on and operational, but is not processing functional requests. In an offline state, a Device might be capable of running diagnostics or generating operational alerts. For example, when the "Offline" button is pushed on a Printer, the Device is no longer available to process print jobs, but it could be available for diagnostics or maintenance. If this method is successful, the Availability and AdditionalAvailability properties of the Device should reflect the updated status. If a failure occurs when you try to bring the Device online or offline, it should remain in its current state. The request, if unsuccessful, should not leave the Device in an indeterminate state. When bringing a Device back "Online" from an "Offline" mode, the Device should be restored to its last "Online" state, if at all possible. Only a Device that has an EnabledState or StatusInfo of "Enabled" and has been configured can be brought online or taken offline. OnlineDevice should return 0 if successful, 1 if the request is not supported at all, 2 if the request is not supported due to the current state of the Device, and some other value if any other error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' can also be specified in the subclass as a Values array qualifier. Note that the function of this method overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (for example, a persisted value) of the last state request. Invoking the OnlineDevice method should set the RequestedState property appropriately.

#### Method Parameters (OnlineDevice)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Online | boolean
Description | string | If TRUE, take the device online. If FALSE, take the device offline.

#### QuiesceDevice (uint32)

#### Method Qualifiers (QuiesceDevice)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_EnabledLogicalElement.RequestStateChange
Description | string | Note: The use of this method has been deprecated in lieu of the more general RequestStateChange method that directly overlaps with the functionality provided by this method. Deprecated description: Requests that the LogicalDevice cleanly cease all activity ("Quiesce" input parameter=TRUE) or resume activity (=FALSE). For this method to quiesce a Device, that Device should have an Availability (or Additional Availability) of "Running/Full Power" (value=3) and an EnabledStatus/StatusInfo of "Enabled". For example, if quiesced, a Device can then be taken offline for diagnostics, or disabled for power off and hot swap. For the method to "unquiesce" a Device, that Device should have an Availability (or AdditionalAvailability) of "Quiesced" (value=21) and an EnabledStatus or StatusInfo of "Enabled". In this case, the Device would be returned to an "Enabled" and "Running/Full Power" status. The return code of the method should indicate the success or failure of the quiesce. It should return 0 if successful, 1 if the request is not supported at all, 2 if the request is not supported due to the current state of the Device, and some other value if any other error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' can also be specified in the subclass as a Values array qualifier.

#### Method Parameters (QuiesceDevice)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Quiesce | boolean
Description | string | If set to TRUE, then cleanly cease all activity. If FALSE, resume activity.

#### SaveProperties (uint32)

#### Method Qualifiers (SaveProperties)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_ConfigurationData.ConfigurationInformation
Description | string | Note: The use of this method is deprecated. Its function is handled more generally by the ConfigurationData subclass of SettingData. Deprecated description: Requests that the Device capture its current configuration, setup or state information, or both in a backing store. The information returned by this method could be used at a later time (using the RestoreProperties method) to return a Device to its present "condition". This method might not be supported by all Devices. The method should return 0 if successful, 1 if the request is not supported, and some other value if any other error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' can also be specified in the subclass as a Values array qualifier.

#### Method Parameters (SaveProperties)

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

#### RestoreProperties (uint32)

#### Method Qualifiers (RestoreProperties)

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_ConfigurationData.ApplyConfiguration
Description | string | Note: The use of this method is deprecated. Its function is handled more generally by the ConfigurationData subclass of SettingData. Requests that the Device re-establish its configuration, setup or state information, or both from a backing store. The information would have been captured at an earlier time (using the SaveProperties method). This method might not be supported by all Devices. The method should return 0 if successful, 1 if the request is not supported, and some other value if any other error occurred. In a subclass, the set of possible return codes could be specified using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' can also be specified in the subclass as a Values array qualifier.

#### Method Parameters (RestoreProperties)

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

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement