# Class CIM_Controller
extends CIM_LogicalDevice

Controller is a superclass for grouping the miscellaneous control-related Devices that provide a classic bus master interface. Examples of Controllers are USBControllers, SerialControllers, and so on. The Controller class is an abstraction for Devices with a single protocol stack, which exist to control communications (data, control, and reset) to downstream devices. Note that a new abstract class (ProtocolController) has been created to model more complex interface controllers such as SCSI.

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

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_LogicalDevice
|
+--CIM_Controller

## Direct Known Subclasses

CIM_DisplayController
CIM_ESCONController
CIM_IDEController
CIM_InfraredController
CIM_ManagementController
CIM_ParallelController
CIM_PCIController
CIM_PCMCIAController
CIM_PortController
CIM_SCSIController
CIM_SerialController
CIM_SSAController
CIM_USBController
CIM_VideoController

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Abstract | boolean | true
Description | string | Controller is a superclass for grouping the miscellaneous control-related Devices that provide a classic bus master interface. Examples of Controllers are USBControllers, SerialControllers, and so on. The Controller class is an abstraction for Devices with a single protocol stack, which exist to control communications (data, control, and reset) to downstream devices. Note that a new abstract class (ProtocolController) has been created to model more complex interface controllers such as SCSI.
UMLPackagePath | string | CIM::Device::Controller
Version | string | 2.10.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
MaxNumberControlled | uint32 |
Description | string | Maximum number of directly addressable entities that are supported by this Controller. A value of 0 should be used if the number is unknown or unlimited.
MappingStrings | string | MIF.DMTF|Bus Port|004.9
ProtocolDescription | string |
Description | string | A free-form string that provides more information that is related to the ProtocolSupported by the Controller.
MappingStrings | string | MIF.DMTF|Bus Port|004.3
ModelCorrespondence | string | CIM_Controller.ProtocolSupported
ProtocolSupported | uint16 |
Description | string | The protocol used by the Controller to access controlled Devices.
MappingStrings | string | MIF.DMTF|Bus Port|004.2, MIF.DMTF|Disks|003.3
ModelCorrespondence | string | CIM_Controller.ProtocolDescription
ValueMap | string | 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
Values | string | Other, Unknown, EISA, ISA, PCI, ATA/ATAPI, Flexible Diskette, 1496, SCSI Parallel Interface, SCSI Fibre Channel Protocol, SCSI Serial Bus Protocol, SCSI Serial Bus Protocol-2 (1394), SCSI Serial Storage Architecture, VESA, PCMCIA, Universal Serial Bus, Parallel Protocol, ESCON, Diagnostic, I2C, Power, HIPPI, MultiBus, VME, IPI, IEEE-488, RS232, IEEE 802.3 10BASE5, IEEE 802.3 10BASE2, IEEE 802.3 1BASE5, IEEE 802.3 10BROAD36, IEEE 802.3 100BASEVG, IEEE 802.5 Token-Ring, ANSI X3T9.5 FDDI, MCA, ESDI, IDE, CMD, ST506, DSSI, QIC2, Enhanced ATA/IDE, AGP, TWIRP (two-way infrared), FIR (fast infrared), SIR (serial infrared), IrBus, Serial ATA
TimeOfLastReset | datetime |
Description | string | Time of last reset of the Controller.

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
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
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
LastErrorCode | uint32 | 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

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