There are two ways to build a Request object. Both begin by calling the create_request method defined by the SOMDObject class. The IDL prototype for create_request is as follows:
ORBStatus create_request( in Context ctx, in Identifier operation, in NVList arg_list, inout NamedValue result, out Request request, in Flags req_flags );
The arg_list can be constructed using the procedures described above and is passed to the Request object in the create_request call. Alternatively, arg_list can be specified as NULL and repetitive calls to add_arg can be used to specify the argument list. The add_arg method, defined by the Request class, has the following IDL prototype:
ORBStatus add_arg( in Identifier name, in TypeCode arg_type, in void* value, in long len, in Flags arg_flags );