/// <summary> /// Verify RopModifyRecipients Response /// </summary> /// <param name="ropModifyRecipientsResponse">The response of RopModifyRecipients request</param> /// <param name="inputHandleIndex">The field of InputHandleIndex in RopModifyRecipients request</param> private void VerifyRopModifyRecipientsResponse(RopModifyRecipientsResponse ropModifyRecipientsResponse, byte inputHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1883"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R1883 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropModifyRecipientsResponse.RopId.GetType(), 1883, @"[In RopModifyRecipients ROP Response Buffer]RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1885"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R1885 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopModifyRecipients, ropModifyRecipientsResponse.RopId, 1885, @"[In RopModifyRecipients ROP Response Buffer,RopId (1 byte)]For this operation[RopModifyRecipients], this field is set to 0x0E."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1886"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R1886 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropModifyRecipientsResponse.InputHandleIndex.GetType(), 1886, @"[In RopModifyRecipients ROP Response Buffer]InputHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1887"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R1887 Site.CaptureRequirementIfAreEqual<byte>( inputHandleIndex, ropModifyRecipientsResponse.InputHandleIndex, 1887, @"[In RopModifyRecipients ROP Response Buffer,InputHandleIndex (1 byte)]This index MUST be set to the value specified in the InputHandleIndex field in the request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1889"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R1889 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropModifyRecipientsResponse.ReturnValue.GetType(), 1889, @"[In RopModifyRecipients ROP Response Buffer]ReturnValue (4 bytes): An unsigned integer."); }
/// <summary> /// Add recipients to specific message. /// </summary> /// <param name="recipientRows">The list of ModifyRecipientRow.</param> /// <param name="messageHandle">The Server object handle of Message.</param> /// <param name="propertyTag">The properties of Recipient</param> /// <param name="modifyRecipientsResponse">The response of calling RopModifyRecipients.</param> protected void AddRecipients(List<ModifyRecipientRow> recipientRows, uint messageHandle, PropertyTag[] propertyTag, out RopModifyRecipientsResponse modifyRecipientsResponse) { RopModifyRecipientsRequest modifyRecipientsRequest = new RopModifyRecipientsRequest { RopId = (byte)RopId.RopModifyRecipients, LogonId = CommonLogonId, InputHandleIndex = CommonInputHandleIndex, ColumnCount = Convert.ToUInt16(propertyTag.Length), RowCount = Convert.ToUInt16(recipientRows.Count), RecipientColumns = propertyTag, RecipientRows = recipientRows.ToArray() }; this.ResponseSOHs = this.MSOXCMSGAdapter.DoRopCall(modifyRecipientsRequest, messageHandle, ref this.response, ref this.rawData, GetPropertiesFlags.None); modifyRecipientsResponse = (RopModifyRecipientsResponse)this.response; }