PropertyHandle :: LockSetUpdate - Lock collection for update
This function allows locking a collection handle referenced in a collection property handle for update. As long as the collection is locked no other process or thread is able to update the collection, but reading is still possible. Locked collection can be unlocked using the UnlockSetInternal() function. The collection is automatically unlocked, when the property handle is closed or another instance is selected in the upper property handle.
The function returns NO when the collection has been locked successfully. It returns an error (YES) when the collection is already locked by another application, when no instance is selected in the upper property handle (when existing) or when the collection could not be locked for some other reason. Collections used in local context (transient collections, collections based on external files) cannot be locked. Any attempt to lock non persistent collections will fail.
When locking the same collection twice in a thread or process, the function immediately returns an error because the collection is already locked. When the collection is locked in another thread or process, the function waits about 10 seconds for the collection being released and returns an error, when this is not the case.