bstr_data_point_get_value(3) — Subroutines
Name
bstr_data_point_get_value − Reads the value of a Data_Point (VODB only).
Syntax
bstr_t_status bstr_data_point_get_value (
bstr_t_reference ∗data_point,
bstr_t_boolean read source,
bstr_t_rcb ∗control,
bstr_t_value ∗value);
Description
The bstr_data_point_get_value procedure returns in value the current value of the Data_Point specified by data_point.
Applications can read the current values of simple and complex Data_Point objects by means of a single call to the bstr_data_point_get_value procedure.
In addition, if the Data_Point is linked as consumer to a producer Data_Point, the access_producer argument can force Data Services to read the current value of the producer Data_Point.
Arguments
data_point
access: read
The reference to the Data_Point.
access_producer
access: read
This argument is only significant if both of the following conditions are met:
•The value of the access_policy attribute of data_point is set to ON_REQUEST.
•The data_point Data_Point is linked as consumer to a producer Data_Point, or is an External_Data_Point with the external_behavior attribute set to PRODUCER.
Under these conditions, the access_producer argument informs Data Services whether the current value of the producer Data_Point is to be accessed. The following values are permitted for this argument:
•BSTR_C_TRUE. Data Services is forced to read the value of the producer Data_Point, overriding any value specified in the update_policy and access_policy attributes.
•BSTR_C_FALSE. The current value of the Data_Point itself is read without the value of the producer Data_Point being accessed.
control
access: read
The address of an optional request control block.
value
access: write
The address of a buffer where the Data_Point’s current value is returned. The buffer allocated by the caller must be consistent with the datatype of the Data_Point to be read.
Return Values
| BSTR_S_ABORTED | Operation aborted |
| 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_EXPIRED | The lifetime of the Data_Point’s value has expired |
| BSTR_S_FINISH | Request aborted by bstr_finish |
| BSTR_S_INTERNAL_ERROR | Internal error |
| BSTR_S_INTR | Operation interrupted |
| 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_OBJECT_NOT_IN_SET | The variable is not in the locked set |
| 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_get_cached_val | # |
| bstr_data_point_put_value | # |