// Copyright (c) 2009 DMTF. All rights reserved. [Version ( "2.22.0" ), UMLPackagePath ( "CIM::Device::SCSI" ), Description ( "A class derived from Service that describes the ability to " "control access to shared devices." )] class CIM_SharedDeviceManagementService : CIM_Service { [Description ( "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 { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11..4095", "4096", "4097..32767", "32768..65535" }, Values { "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" }] uint32 ShareDevice( [IN, Description ( "The desired access of the System to the shared Logical Device." ), ValueMap { "2", "3", "4", "5", "..", "32768..65535" }, Values { "No Access", "Exclusive Access", "Shared Read", "Shared Full", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_SharingDependency.CurrentAccess", "CIM_DeviceSharingCapabilities.SupportedAccessModes" }] uint16 RequestedAccess, [IN, Description ( "The LogicalDevice to change access to." )] CIM_LogicalDevice REF Device, [IN, Description ( "The System whose access to the LogicalDevice the " "change is requested for." )] CIM_System REF System, [IN, Description ( "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. \n" "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." )] datetime TimeoutPeriod, [IN, Description ( "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." )] boolean Force, [IN ( false ), OUT, Description ( "Reference to the job spawned if the operation " "continues after the method returns. (may be null " "if task completed)." )] CIM_ConcreteJob REF Job); };