bstr_data_point_lock(3) — Subroutines
Name
bstr_data_point_lock − Locks a Data_Point or a Data_Point_Set (VODB only).
Syntax
bstr_t_status bstr_data_point_lock (
bstr_t_reference ∗data_point,
bstr_t_lock_type lock_type,
bstr_t_rcb ∗control);
Description
The bstr_data_point_lock procedure allows the calling application to lock the Data_Point or Data_Point_Set specified by data_point. The lock provides the calling application with control over concurrent access by other applications.
The type of access permitted for other applications on the locked Data_Point (or Data_Point_Set) is specified by lock_type.
An application that invokes the bstr_data_point_lock procedure, for an object that is already locked, is suspended until the Data_Point becomes free (that is, until it is unlocked by the user that locked it).
Arguments
data_point
access: read
The reference to the Data_Point or Data_Point_Set to be locked.
lock_type
access: read
Indicates the type of lock to be performed on the specified Data_Point. Depending on the lock type, other users are allowed to have no access or limited access to the locked object. Valid lock types are as follows:
| Constant Name | Description |
| BSTR_C_READ_ONLY | Other users are only allowed to read the locked object. |
| BSTR_C_EXCLUSIVE | No other users can read or write the locked object. |
control
access: read
The address of an optional request control block.
Return Values
| BSTR_S_ABORTED | Operation aborted |
| BSTR_S_ANOTHER_TRANSACTION | Another transaction is already open |
| BSTR_S_BAD_PARAMETER | Bad parameter value |
| BSTR_S_BAD_REFERENCE | Bad reference |
| BSTR_S_COMMUNICATION_ERROR | Communication error |
| BSTR_S_COM_PC_SIZE_MISMATCH | Number of bytes requested does not match the number of bytes returned |
| BSTR_S_DEVICE_SERVICES_NOT_AVAILABLE | Device Services are not available |
| BSTR_S_FINISH | Request aborted by bstr_finish |
| BSTR_S_INTERNAL_ERROR | Internal error |
| BSTR_S_INTR | Operation interrupted |
| BSTR_S_INVALID_LOCK_TYPE | Invalid lock mode |
| BSTR_S_INVALID_OPERATION | Invalid operation |
| BSTR_S_INVALID_RCB | Invalid Request Control Block |
| BSTR_S_INVALID_USAGE | Invalid reference usage |
| BSTR_S_NORMAL | Normal successful completion |
| BSTR_S_NO_MEMORY | Insufficient virtual memory |
| BSTR_S_SERVER_NOT_REACHABLE | Server not reachable |
| BSTR_S_TIMEOUT | Timeout expired |
| BSTR_S_TOO_MANY_REQUESTS | Too many pending requests |
See Also
| bstr_data_point_unlock | # |