OSF DCE Application Development Guide--Core Components

Writing Internationalized RPC Applications
output parameters. If the operation does not specify any international character
output data, then it is not necessary to create this parameter.
You must define these code set tag parameters as unsigned long integers or unsigned long
integers passed by reference. The receiving tag parameter must be declared as a pointer
to the receiving tag unsigned long integer.
When international character data is to be unmarshalled, the client or server stub needs to
have received a description of the code set being used before it receives the data. For
this reason, the sending tag parameter must occur in an operation’s parameter list before
any in international character data, and the receiving tag parameter must occur in an
operation’s parameter list before any out international character data. The requirement
that a tag must be received before the data it relates to is received also means that a
customized binding handle cannot include international characters. This is because a
binding handle must be the first parameter in a parameter list.
Here is an example .idl file for an interface named cs_test that uses the special
international character type definition and the code set tag parameters for input and
output parameters that are fixed arrays of characters from an international character set:
[
uuid(b076a320-4d8f-11cd-b453-08000925d3fe),
version(1.0)
]
interface cs_test
{
const unsigned short SIZE = 100;
typedef byte net_byte;
error_status_t cs_fixed_trans (
[in] handle_t IDL_handle,
[in] unsigned long stag,
[in] unsigned long drtag,
[out] unsigned long *p_rtag,
[in] net_byte in_string[SIZE],
[out] net_byte out_string[SIZE]
);
15.3.2 Writing the Attribute Configuration File
The next step in building an RPC application that supports character and code set
interoperability is to create an attribute configuration file (.acf) to be associated with the
.idl file. This .acf file uses the following attributes:
124245 Tandem Computers Incorporated 159