/// <summary> /// This ROP deletes all messages and subfolders from a folder. /// </summary> /// <param name="handle">The handle to operate.</param> /// <param name="wantAsynchronous">This value specifies whether the operation is to be executed asynchronously with status reported via RopProgress.</param> /// <param name="needVerify">Whether need to verify the response.</param> /// <returns>The response of this ROP.</returns> private RopEmptyFolderResponse RopEmptyFolder(uint handle, byte wantAsynchronous, bool needVerify) { this.rawDataValue = null; this.responseValue = null; this.responseSOHsValue = null; RopEmptyFolderRequest emptyFolderRequest = new RopEmptyFolderRequest() { RopId = (byte)RopId.RopEmptyFolder, LogonId = LogonId, InputHandleIndex = (byte)HandleIndex.FirstIndex, WantAsynchronous = wantAsynchronous, WantDeleteAssociated = Convert.ToByte(true), }; this.responseSOHsValue = this.ProcessSingleRop(emptyFolderRequest, handle, ref this.responseValue, ref this.rawDataValue, RopResponseType.SuccessResponse); RopEmptyFolderResponse emptyFolderResponse = (RopEmptyFolderResponse)this.responseValue; if (needVerify) { Site.Assert.AreEqual((uint)RopResponseType.SuccessResponse, emptyFolderResponse.ReturnValue, string.Format("RopEmptyFolder Failed! Error: 0x{0:X8}", emptyFolderResponse.ReturnValue)); } return(emptyFolderResponse); }
/// <summary> /// Soft deletes all messages and subfolders from a folder without deleting the folder itself. /// </summary> /// <param name="ropEmptyFolderRequest">RopEmptyFolderRequest object.</param> /// <param name="insideObjHandle">Server object handle in EmptyFolderRequest.</param> /// <param name="responseSOHTable">Server objects handles in RopEmptyFolderResponse.</param> /// <returns>RopEmptyFolderResponse object.</returns> public RopEmptyFolderResponse EmptyFolder(RopEmptyFolderRequest ropEmptyFolderRequest, uint insideObjHandle, ref List <List <uint> > responseSOHTable) { object temp = new object(); this.ExcuteRopCall((ISerializable)ropEmptyFolderRequest, insideObjHandle, ref temp, ref responseSOHTable, ref this.rawData); RopEmptyFolderResponse ropEmptyFolderResponse = (RopEmptyFolderResponse)temp; #region Capture Code // The ReturnValue equal to 0x00000000 indicate ROP operation success if (0x00000000 == ropEmptyFolderResponse.ReturnValue) { this.VerifyRopEmptyFolder(ropEmptyFolderResponse); } #endregion return(ropEmptyFolderResponse); }