There are five SOM IDL modifiers available for specifying the memory-management policy for the parameters of a method (regardless of whether the caller or the object owns the parameters' memory after the method is invoked). These modifiers are:
memory_management, caller_owns_result, caller_owns_parameters,
object_owns_result, and object_owns_parameters.
See the section entitled "Implementation Statements" in Chapter 4, "SOM IDL and the SOM Compiler," for a complete description of these modifiers and their meanings. Note that the memory-management policy for a particular parameter applies to the parameter and all the memory embedded within it (for example, if a struct is owned by the caller, then so are all the struct's members).
When a class contains the memory_management = corba SOM IDL modifier, this signifies that all methods introduced by the class follow the CORBA specification for parameter memory management, except where a particular method has an explicit modifier (object_owns_result or object_owns_parameters) that indicates otherwise. For a description of the CORBA specification, see the earlier subtopic entitled "The CORBA policy for parameter memory management" (under the topic "Memory Management" in Section 6.3 of this chapter).