The implementation MAY construct an of classes called in order to transmit implementation-specific information to the client. The Array, if constructed, MUST contain items whose are instances of the DictionaryEntry Class as defined in . Each DictionaryEntry item MUST contain the name and the value of the implementation-specific information.<34> The reply is into the serialization stream by using the records defined in , as follows: A SerializationHeader record as defined in [MS-NRBF] MUST be serialized. Following the SerializationHeader record, the Remote Method invocation MUST be serialized using a BinaryMethodReturn record and a MethodReturnCallArray record. The MethodReturnCallArray record is conditional and the rules for the presence of the MethodReturnCallArray record are given in the following table. The table specifies the rules for serializing reply and the values for the MessageEnum field of the BinaryMethodReturn record. Item Item's serialized name Condition MessageEnum bit location Return None ReturnValueVoid -NA- value Return Null NoReturnValue -NA- value Return field of ReturnValueInline ReturnValue value the BinaryMethodReturn record Return non-Primitive An item in the ReturnValueInArray Value MethodReturnCallArray record Output None NoArgs -NA- Argument Output All Primitive ArgsInLine Args field of the Argument BinaryMethodReturn record Output At least one ArgsIsArray A separate Argument non-primitive ArraySingleObject Argument and record that follows the no Exception, BinaryMethodReturn Call Context, record or Message Properties Output Otherwise ArgsInArray An item in the Argumen MethodReturnCallArray record t Exception Absent 0 -NA- Exception Present ExceptionInArray An item in the MethodReturnCallArray record Call LogicalCallID ContextInLine The Call Context field Context Only of the BinaryMethodReturn record
The implementation MAY construct an of classes called in order to transmit implementation-specific information to the client. The Array, if constructed, MUST contain items whose are instances of the DictionaryEntry Class as defined in . Each DictionaryEntry item MUST contain the name and the value of the implementation-specific information.<34> The reply is into the serialization stream by using the records defined in , as follows: A SerializationHeader record as defined in [MS-NRBF] MUST be serialized. Following the SerializationHeader record, the Remote Method invocation MUST be serialized using a BinaryMethodReturn record and a MethodReturnCallArray record. The MethodReturnCallArray record is conditional and the rules for the presence of the MethodReturnCallArray record are given in the following table. The table specifies the rules for serializing reply and the values for the MessageEnum field of the BinaryMethodReturn record. Item name Condition MessageEnum bit Item's serialized location Return value None ReturnValueVoid -NA- Return value Null NoReturnValue -NA- Return value ReturnValueInline ReturnValue field of the BinaryMethodReturn record Return non-Primitive Value ReturnValueInArray An item in the MethodReturnCallArray record Output Argument None NoArgs -NA- Output Argument All Primitive ArgsInLine Args field of the BinaryMethodReturn record Output Argument At least one non-primitive Argument and no Exception, Call Context, or Message Properties ArgsIsArray A separate ArraySingleObject record that follows the BinaryMethodReturn record Output Argumen t Otherwise ArgsInArray An item in the MethodReturnCallArray record Exception Absent 0 -NA- Exception Present ExceptionInArray An item in the MethodReturnCallArray record Call Context LogicalCallID Only ContextInLine The Call Context field of the BinaryMethodReturn record