# Class CIM_SharedDeviceManagementService
extends CIM_Service

A class derived from Service that describes the ability to control access to shared devices.

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

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_SharedDeviceManagementService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A class derived from Service that describes the ability to control access to shared devices.
UMLPackagePath | string | CIM::Device::SCSI
Version | string | 2.22.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
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

#### ShareDevice (uint32)

#### Method Qualifiers (ShareDevice)

Name | Data Type | Value
--- | --- | ---
Description | string | ShareDevice defines the ability to change the access of a System to a shared LogicalDevice. If this method completes successfully the value of CurrentAccess for the instance of CIM_SharingDependency which references the LogicalDevice will have the value of the RequestedAccess parameter. If 4096 (0x1000) is returned, then the task will take some time to complete, ConcreteJob will be created, and its reference returned in the output parameter Job.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11..4095, 4096, 4097..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown/Unspecified Error, Can NOT complete within Timeout Period, Failed, Invalid Parameter, Unsupported Access, Invalid Device, Invalid System, Use of Timeout Parameter Not Supported, Busy, DMTF Reserved, Method Parameters Checked - Job Started, DMTF Reserved, Vendor Reserved

#### Method Parameters (ShareDevice)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Force | boolean
Description | string | This parameter is used by a client to indicate that they wish the requested access to be granted even if it requires forcibly revoking access currently granted to another system. When the value of this parameter is true, and a valid TimeoutPeriod is specified, the implementation shall wait for the duration specified by TimeoutPeriod before forcibly modifying access. If the access requested can be granted without disruption prior to the TimeoutPeriod expiring, the implementation should complete the request and not wait for the expiration of the interval specified by TimeoutPeriod.
IN | boolean | true
RequestedAccess | uint16
Description | string | The desired access of the System to the shared Logical Device.
IN | boolean | true
ModelCorrespondence | string | CIM_SharingDependency.CurrentAccess, CIM_DeviceSharingCapabilities.SupportedAccessModes
ValueMap | string | 2, 3, 4, 5, .., 32768..65535
Values | string | No Access, Exclusive Access, Shared Read, Shared Full, DMTF Reserved, Vendor Reserved
TimeoutPeriod | datetime
Description | string | A timeout period that specifies the maximum amount of time that the client is willing to wait for access to the shared device to be granted before the request should be abandoned. This value does not directly correlate to a timeout for the method invocation. That is, its possible for a job to be started to process the request and the method to return within the timeout period only to have the operation aborted later when the timeout period expires. The TimeoutPeriod shall be specified in interval format. A value of 0 indicates that if the requested access can not be granted immediately the client does not wish to wait and the request should fail. A null parameter indicates that the client has no time requirements for the request to be granted and wishes to wait indefinitely for access to be granted. If this property does not contain 0 or null and the implementation doesn't support this parameter, a return code of 'Use Of Timeout Parameter Not Supported' shall be returned.
IN | boolean | true
Device | REF CIM_LogicalDevice
Description | string | The LogicalDevice to change access to.
IN | boolean | true
Job | REF CIM_ConcreteJob
Description | string | Reference to the job spawned if the operation continues after the method returns. (may be null if task completed).
IN | boolean | false
OUT | boolean | true
System | REF CIM_System
Description | string | The System whose access to the LogicalDevice the change is requested for.
IN | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service