3.1.4.5.2 Release Lock

If the ExclusiveLockRequestType attribute is set to "ReleaseLock", the protocol server considers this exclusive lock subrequest of to be of type "Release lock". The protocol server releases the exclusive lock session on the file.

If the protocol server encounters an error because no lock currently exists on the file, the protocol server returns an error code value set to "FileNotLockedOnServer". The protocol server returns an error code value set to "FileAlreadyLockedOnServer" if any one of the following conditions is true:

  • The file is already locked with an exclusive lock that has a different exclusive lock identifier.

  • The file is already locked with a shared lock.

If the protocol server encounters unknown exceptions or failures when trying to release a lock on the file, the protocol server returns an error code value that is set to "LockRequestFail" to indicate an unknown failure.

If any failure occurs such that the subrequest cannot be processed successfully, the protocol server returns an error. The error that the protocol server returns is implementation-specific. Errors that are directly returned by the protocol server are implementation-specific. GenericErrorCodeTypes is defined in section 2.2.5.6. DependencyCheckRelatedErrorCodeTypes is defined in section 2.2.5.2. LockAndCoauthRelatedErrorCodeTypes is defined in section 2.2.5.8.