OSF DCE Application Development Guide--Core Components
OSF DCE Application Development Guide—Core Components
The extern_exceptions attribute indicates that the specified exceptions are defined and
initialized in some other external manner before calling the extern_exceptions attribute.
They may be predefined exceptions (such as exc_e_exquota) that were provided by
another interface, or exceptions that are defined and initialized explicitly by the
application itself.
Example Using the extern_exceptions Attribute
In the following example, the exception named in the list in the extern_exceptions
attribute in the ACF is not defined or initialized in the IDL-generated stub code. All of
the other exceptions listed in the exceptions interface attribute are defined and
initialized in the generated stub.
ACF
[extern_exceptions(exc_e_exquota)] interface binop {}
/*
*The exc_e_exquota exception is a predefined exception
*(provided in exc_handling.h) and so does not need
*to be declared and initialized in the IDL-generated stub.
*/
IDL File
[uuid(06255501-08af-11cb-8c4f-08002b13d56d),
version (1.1),
exceptions (
exc_e_exquota,
binop_e_aborted,
binop_e_too_busy,
binop_e_shutdown)
] interface binop
{
long binop_add(
[in] long a,
[in] long b
);
}
18.3.13 The encode and decode Attributes
The encode and decode attributes are used in conjunction with IDL encoding services
routines (idl_es*) to enable RPC applications to encode data types in input parameters
into a byte stream and decode data types in output parameters from a byte stream
without invoking the RPC runtime. Encoding and decoding operations are analogous to
marshalling and unmarshalling, except that the data is stored locally and is not
transmitted over the network.
The stubs that perform encoding or decoding operations are different from the stubs that
perform RPC operations. The ACF attributes encode and decode direct the IDL
18 − 18 Tandem Computers Incorporated 124245