2.2.3.4 MethodReturnCallArray

The MethodReturnCallArray is a special use of the ArraySingleObject record. The record represents a serialized Array that can contain instances of any Remoting Type. The items of the Array include Return Value, Output Arguments, Exception, Call Context, and Message Properties. Each item is conditional. The conditions for presence of the item are given with the definition of the item in the following list. The items, if present, MUST be in the following order:

  1. Return Value: The Return Value of the method. This item is conditional. If the MessageEnum field of the preceding BinaryMethodReturn record has the ReturnValueInArray bit set, the item MUST be present; otherwise, the item MUST NOT be present.

  2. Output Arguments: An Array that contains the Output Arguments for the method. This item is conditional. If the MessageEnum field of the preceding BinaryMethodReturn record has the ArgsInArray bit set, the item MUST be present; otherwise, the item MUST NOT be present.

  3. Exception: A Data Value assignable to System.Exception Class (2) as specified in [MS-NRTP] section 2.2.2.7. This item is conditional. If the MessageEnum field of the preceding BinaryMethodReturn record has the ExceptionInArray bit set, the item MUST be present; otherwise, the item MUST NOT be present.

  4. Call Context: An instance of the Class (2) called "System.Runtime.Remoting.Messaging.LogicalCallContext". The Library name of the Class (2) is "mscorlib". Each name-value pair of the Call Context MUST be mapped to a Member name and a Member value of the Class (2). If the MessageEnum field of the preceding BinaryMethodReturn record has the ContextInArray bit set, the field MUST be present; otherwise, the field MUST NOT be present.

  5. Message Properties: An Array that can contain instances of any Remoting Type. Each instance is a DictionaryEntry, as specified in [MS-NRTP] section 2.2.2.6. If the MessageEnum field of the preceding BinaryMethodReturn record has the PropertiesInArray bit set, the field MUST be present; otherwise, the field MUST NOT be present.