# Class CIM_MediaAccessDevice
extends CIM_LogicalDevice

A MediaAccessDevice represents the ability to access one or more media and use this media to store and retrieve data.

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

## Direct Known Subclasses

CIM_CDROMDrive
CIM_DiskDrive
CIM_DisketteDrive
CIM_DVDDrive
CIM_MagnetoOpticalDrive
CIM_TapeDrive
CIM_WORMDrive

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A MediaAccessDevice represents the ability to access one or more media and use this media to store and retrieve data.
UMLPackagePath | string | CIM::Device::StorageDevices
Version | string | 2.6.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
CompressionMethod | string |
Description | string | A free form string indicating the algorithm or tool used by the device to support compression. If it is not possible or not desired to describe the compression scheme (perhaps because it is not known), recommend using the following words: "Unknown" to represent that it is not known whether the device supports compression capabilities or not, "Compressed" to represent that the device supports compression capabilities but either its compression scheme is not known or not disclosed, and "Not Compressed" to represent that the devices does not support compression capabilities.
DefaultBlockSize | uint64 |
Description | string | Default block size, in bytes, for this Device.
PUnit | string | byte
Units | string | Bytes
ErrorMethodology | string |
Description | string | ErrorMethodology is a free-form string describing the type(s) of error detection and correction supported by this Device.
LastCleaned | datetime |
Description | string | The date and time on which the Device was last cleaned.
LoadTime | uint64 |
Description | string | Time in milliseconds from 'load' to being able to read or write a Media. For example, for DiskDrives, this is the interval between a disk not spinning to the disk reporting that it is ready for read/write (ie, the disk spinning at nominal speeds). For TapeDrives, this is the time from a Media being injected to reporting that it is ready for an application. This is usually at the tape's BOT area.
PUnit | string | second * 10^-3
Units | string | MilliSeconds
MaxAccessTime | uint64 |
Description | string | Time in milliseconds to move from the first location on the Media to the location that is furthest with respect to time. For a DiskDrive, this represents full seek + full rotational delay. For TapeDrives, this represents a search from the beginning of the tape to the most physically distant point. (The end of a tape may be at its most physically distant point, but this is not necessarily true.)
PUnit | string | second * 10^-3
Units | string | MilliSeconds
MaxBlockSize | uint64 |
Description | string | Maximum block size, in bytes, for media accessed by this Device.
PUnit | string | byte
Units | string | Bytes
MaxMediaSize | uint64 |
Description | string | Maximum size, in KBytes, of media supported by this Device. KBytes is interpreted as the number of bytes multiplied by 1000 (NOT the number of bytes multiplied by 1024).
MappingStrings | string | MIF.DMTF|Sequential Access Devices|001.2, MIF.DMTF|Host Disk|001.5
MaxUnitsBeforeCleaning | uint64 |
Description | string | An unsigned integer indicating the maximum 'units' that can be used, with respect to the AccessDevice, before the Device should be cleaned. The property, UnitsDescription, defines how 'units' should be interpreted.
ModelCorrespondence | string | CIM_MediaAccessDevice.UnitsDescription
MediaIsLocked | boolean |
Description | string | True indicates that the media is locked in the Device and can not be ejected. For non-removeable Devices, this value should be true.
MinBlockSize | uint64 |
Description | string | Minimum block size, in bytes, for media accessed by this Device.
PUnit | string | byte
Units | string | Bytes
MountCount | uint64 |
Counter | boolean | true
Description | string | For a MediaAccessDevice that supports removable Media, the number of times that Media have been mounted for data transfer or to clean the Device. For Devices accessing nonremovable Media, such as hard disks, this property is not applicable and should be set to 0.
NeedsCleaning | boolean |
Description | string | Boolean indicating that the MediaAccessDevice needs cleaning. Whether manual or automatic cleaning is possible is indicated in the Capabilities array property.
NumberOfMediaSupported | uint32 |
Description | string | When the MediaAccessDevice supports multiple individual Media, this property defines the maximum number which can be supported or inserted.
Security | uint16 |
Description | string | An enumeration indicating the operational security defined for the MediaAccessDevice. For example, information that the Device is "Read Only" (value=4) or "Boot Bypass" (value=6) can be described using this property.
MappingStrings | string | MIF.DMTF|Disks|003.22
ValueMap | string | 1, 2, 3, 4, 5, 6, 7
Values | string | Other, Unknown, None, Read Only, Locked Out, Boot Bypass, Boot Bypass and Read Only
TimeOfLastMount | datetime |
Description | string | For a MediaAccessDevice that supports removable Media, the most recent date and time that Media was mounted on the Device. For Devices accessing nonremovable Media, such as hard disks, this property has no meaning and is not applicable.
TotalMountTime | uint64 |
Description | string | For a MediaAccessDevice that supports removable Media, the total time (in seconds) that Media have been mounted for data transfer or to clean the Device. For Devices accessing nonremovable Media, such as hard disks, this property is not applicable and should be set to 0.
UncompressedDataRate | uint32 |
Description | string | The sustained data transfer rate in KB/sec that the Device can read from and write to a Media. This is a sustained, raw data rate. Maximum rates or rates assuming compression should not be reported in this property.
PUnit | string | byte / second * 10^3
Units | string | KiloBytes per Second
UnitsDescription | string |
Description | string | Defines 'Units' relative to its use in the property, MaxUnitsBeforeCleaning. This describes the criteria used to determine when the MediaAccessDevice should be cleaned.
ModelCorrespondence | string | CIM_MediaAccessDevice.MaxUnitsBeforeCleaning, CIM_MediaAccessDevice.UnitsUsed
UnitsUsed | uint64 |
Description | string | An unsigned integer indicating the currently used 'units' of the AccessDevice, helpful to describe when the Device may require cleaning. The property, UnitsDescription, defines how 'units' should be interpreted.
Gauge | boolean | true
ModelCorrespondence | string | CIM_MediaAccessDevice.UnitsDescription, CIM_MediaAccessDevice.MaxUnitsBeforeCleaning
UnloadTime | uint64 |
Description | string | Time in milliseconds from being able to read or write a Media to its 'unload'. For example, for DiskDrives, this is the interval between a disk spinning at nominal speeds and a disk not spinning. For TapeDrives, this is the time for a Media to go from its BOT to being fully ejected and accessible to a PickerElement or human operator.
PUnit | string | second * 10^-3
Units | string | MilliSeconds
Capabilities | uint16[] |
ArrayType | string | Indexed
Description | string | Capabilities of the MediaAccessDevice. For example, the Device may support "Random Access", removeable media and "Automatic Cleaning". In this case, the values 3, 7 and 9 would be written to the array. Several of the enumerated values require some explanation: 1) Value 11, Supports Dual Sided Media, distinguishes a Device that can access both sides of dual sided Media, from a Device that reads only a single side and requires the Media to be flipped; and, 2) Value 12, Predismount Eject Not Required, indicates that Media does not have to be explicitly ejected from the Device before being accessed by a PickerElement.
MappingStrings | string | MIF.DMTF|Storage Devices|001.9, MIF.DMTF|Storage Devices|001.11, MIF.DMTF|Storage Devices|001.12, MIF.DMTF|Disks|003.7, MIF.DMTF|Host Disk|001.2, MIF.DMTF|Host Disk|001.4
ModelCorrespondence | string | CIM_MediaAccessDevice.CapabilityDescriptions
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Values | string | Unknown, Other, Sequential Access, Random Access, Supports Writing, Encryption, Compression, Supports Removeable Media, Manual Cleaning, Automatic Cleaning, SMART Notification, Supports Dual Sided Media, Predismount Eject Not Required
CapabilityDescriptions | string[] |
ArrayType | string | Indexed
Description | string | An array of free-form strings providing more detailed explanations for any of the AccessDevice features indicated in the Capabilities array. Note, each entry of this array is related to the entry in the Capabilities array that is located at the same index.
ModelCorrespondence | string | CIM_MediaAccessDevice.Capabilities

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

#### LockMedia (uint32)

#### Method Qualifiers (LockMedia)

Name | Data Type | Value
--- | --- | ---
Description | string | Method to lock and unlock the media in a removeable Access Device. The method takes one parameter as input - a boolean indicating whether to lock or unlock. TRUE indicates that the media should be locked in the Device, FALSE indicates that the media should be unlocked. The method returns 0 if successful, 1 if not supported, and any other value if an error occurred. The set of possible return codes should be specified in a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' should be specified as a Values array qualifier on the method.

#### Method Parameters (LockMedia)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Lock | boolean
Description | string | If TRUE, lock the media. If FALSE release the media.
IN | 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