comm_status attribute
The [comm_status] ACF attribute causes an error code to be returned when a communication error occurs during the execution of a function.
[comm_status [ , ACF-function-attributes ] ]
error_status_t function-name(
[ [ ACF-parameter-attributes ] ] parameter-name
, ...);
[ [ ACF-function-attributes ] ] function-name(
[comm_status [ , ACF-parameter-attributes ] ] error_status_t name
, ...);
-
ACF-function-attributes
-
Specifies zero or more ACF function attributes, such as [comm_status] and [nocode]. Function attributes are enclosed in square brackets. Zero or more attributes can be applied to a function. Separate multiple function attributes with commas. Note that if [comm_status] appears as a function attribute, it cannot also appear as a parameter attribute.
-
function-name
-
Specifies the name of the function as defined in the IDL file.
-
ACF-parameter-attributes
-
Specifies attributes that apply to a parameter. Note that zero, one, or more attributes can be applied to the parameter. Separate multiple parameter attributes with commas. Parameter attributes are enclosed in square brackets. IDL parameter attributes, such as directional attributes, are not allowed in the ACF. Note that if [comm_status] appears as a parameter attribute, it cannot also appear as a function attribute.
-
parameter-name
-
Specifies the parameter for the function as defined in the IDL file. Each parameter for the function must be specified in the same sequence, using the same name as defined in the IDL file.
The [comm_status] attribute can be used as either a function attribute or as a parameter attribute, but it can appear only once per function. It can be applied either to the function or to one parameter in each function.
The [comm_status] attribute can be applied only to functions that return the type error_status_t. When a communication error occurs during the execution of the function, an error code is returned.
When [comm_status] is used as a parameter attribute, the parameter must be defined in the IDL file and must be an [out] parameter of type error_status_t. When a communication error occurs during the execution of the function, the parameter is set to the error code. When the remote call is completed successfully, the procedure sets the value.
It is possible for both the [comm_status] and [fault_status] attributes to appear in a single function, either as function attributes or parameter attributes. If both attributes are function attributes or if they apply to the same parameter and no error occurs, the function or parameter has the value error_status_ok. Otherwise, it contains the appropriate [comm_status] or [fault_status] value. Because values returned for [comm_status] are different from the values returned for [fault_status], the returned values are readily interpreted.