/// <summary>
        /// Verify RopDeleteFolder Response
        /// </summary>
        /// <param name="ropDeleteFolderResponse">The response of RopDeleteFolder request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopDeleteFolder request</param>
        private void VerifyRopDeleteFolderResponse(RopDeleteFolderResponse ropDeleteFolderResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R667");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R667
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropDeleteFolderResponse.RopId.GetType(),
                667,
                @"[In RopDeleteFolder ROP Response Buffer] RopId (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R669");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R669
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopDeleteFolder,
                ropDeleteFolderResponse.RopId,
                669,
                @"[In RopDeleteFolder ROP Response Buffer] RopId (1 byte): For this operation[RopDeleteFolder], this field[RopId (1 byte)] is set to 0x1D.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R670");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R670
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropDeleteFolderResponse.InputHandleIndex.GetType(),
                670,
                @"[In RopDeleteFolder ROP Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R671");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R671
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropDeleteFolderResponse.InputHandleIndex,
                671,
                @"[In RopDeleteFolder 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_R672");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R672
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropDeleteFolderResponse.ReturnValue.GetType(),
                672,
                @"[In RopDeleteFolder ROP Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R674,PartialCompletion:{0}", ropDeleteFolderResponse.PartialCompletion);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R674
            // If PartialCompletion is byte type and can be boolean type representation, then verify R674
            bool isVerifyR674 = (typeof(byte) == ropDeleteFolderResponse.PartialCompletion.GetType()) &&
                                ((Convert.ToBoolean(ropDeleteFolderResponse.PartialCompletion) == true) ||
                                (Convert.ToBoolean(ropDeleteFolderResponse.PartialCompletion) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR674,
                674,
                @"[In Response Buffer] PartialCompletion (1 byte): A Boolean.");
        }
        /// <summary>
        /// Verify the response of RopDeleteFolder ROP operation.
        /// </summary>
        /// <param name="deleteFolderResponse">The response of RopDeleteFolder operation</param>
        private void VerifyRopDeleteFolder(RopDeleteFolderResponse deleteFolderResponse)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R95");

            // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R95
            Site.CaptureRequirementIfAreEqual<uint>(
                Constants.SuccessCode,
                deleteFolderResponse.ReturnValue,
                95,
                @"[In RopDeleteFolder ROP Response Buffer] ReturnValue (4 bytes): The server returns 0x00000000 to indicate success.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R75");

            // If the RopDeleteFolder operation returns successfully, it indicates that the server removed a folder.
            // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R75
            Site.CaptureRequirementIfAreEqual<uint>(
                Constants.SuccessCode,
                deleteFolderResponse.ReturnValue,
                75,
                @"[In RopDeleteFolder ROP] The RopDeleteFolder ROP ([MS-OXCROPS] section 2.2.4.3) removes a folder.");
        }
        /// <summary>
        /// Delete specific folder.
        /// </summary>
        /// <param name="objHandle">object handle .</param>
        /// <param name="folderId">ID of the folder will be deleted.</param>
        /// <returns>ROP response of RopDeleteFolder.</returns>
        public RopDeleteFolderResponse RopDeleteFolder(uint objHandle, ulong folderId)
        {
            RopDeleteFolderRequest deleteFolderRequest = new RopDeleteFolderRequest();
            RopDeleteFolderResponse deleteFolderResponse = new RopDeleteFolderResponse();
            deleteFolderRequest.RopId = 0x1D;
            deleteFolderRequest.LogonId = 0x00;
            deleteFolderRequest.InputHandleIndex = 0x00;

            // Delete all messages and subfolders
            deleteFolderRequest.DeleteFolderFlags = 0x15;

            // Folder to be deleted
            deleteFolderRequest.FolderId = folderId;
            this.responseSOHs = this.DoRPCCall(deleteFolderRequest, objHandle, ref this.response, ref this.rawData);
            deleteFolderResponse = (RopDeleteFolderResponse)this.response;
            return deleteFolderResponse;
        }