error_status_t attribute

The error_status_t keyword designates a type for an object that contains communication-status or fault-status information.

[ [ , ACF-function-attributes ] ] error_status_t function-name(
        [ [ ACF-parameter-attributes ] ] parameter-name
        , ...);

[ [ ACF-function-attributes ] ] function-name(
    [ [ ACF-parameter-attributes ] ] error_status_t parameter-name
    , ...);



Specifies zero or more ACF function attributes, such as [comm_status], [fault_status], or [nocode]. Function attributes are enclosed in square brackets. Zero or more attributes can be applied to a function. Separate multiple function attributes with commas.


Specifies the name of the function as defined in the IDL file.


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.


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 error_status_t type is used as a part of the exception handling architecture in IDL. This type maps to an unsigned long. Applications that catch error situations have an [out] parameter or a return type of a procedure specified as error_status_t, and qualify the error_status_t with the [comm_status] or [fault_status] attributes in the ACF. If the parameter or return type was not qualified with the [comm_status] or [fault_status] attributes, then the parameter operates as though it were an unsigned long.

Beginning with version 2.0, the MIDL compiler generates stubs that contain the proper error handling architecture. However, earlier versions of the MIDL compiler handled a parameter or return type of error_status_t as though the [comm_status] and [fault_status] attributes were applied, even if they were not. With MIDL 2.0 or later, you must explicitly apply the [comm_status] and [fault_status] attributes to the parameter or procedure in the ACF.

The error_status_t type is one of the predefined types of the interface definition language. Predefined types can appear as type specifiers in typedef declarations, in general declarations, and in function declarators (either as the function-return-type or as parameter-type specifiers).

See also

Interface Definition (IDL) File