Reserving an attribute verifies that the set operation is valid. This ensures that a subsequent set operation will be successfully issued. However, it is not a locking operation. A management application can never assume exclusive control of a component.
The component instrumentation that receives the Reserve command is responsible for testing the arguments to verify that the set operation can be performed. The testing verifies that the arguments are within range and allocates and reserves any resources that might be needed to ensures the success of a subsequent set operation.
After a successful set operation, the component instrumentation automatically releases any resources that it has reserved. The management application does not need to explicitly issue a Release command after a set.
The component instrumentation requires that all Reserve commands be followed by either Set or Release commands to perform the set operation or to release the reserved resources. The failure of the management application to issue either command is considered a catastrophic failure and is outside the scope of the component instrumentation's responsibility to try to correct.
If a management application requests that multiple attributes be reserved and one of the reservations fails, the service layer returns the attribute where the command failed. It is the responsibility of the management application to release any successfully reserved attributes.