/// <summary>
        /// Verify RopCreateBookmark Failure Response
        /// </summary>
        /// <param name="ropCreateBookmarkResponse">The response of RopCreateBookmark request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopCreateBookmark request</param>
        private void VerifyRopCreateBookmarkFailureResponse(RopCreateBookmarkResponse ropCreateBookmarkResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1405");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1405
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropCreateBookmarkResponse.RopId.GetType(),
                1405,
                @"[In RopCreateBookmark ROP Failure Response Buffer] RopId (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1407
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopCreateBookmark,
                ropCreateBookmarkResponse.RopId,
                1407,
                @"[In RopCreateBookmark ROP Failure Response Buffer] RopId (1 byte): For this operation[RopCreateBookmark], this field[RopId (1 byte)] is set to 0x1B.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1408
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropCreateBookmarkResponse.InputHandleIndex.GetType(),
                1408,
                @"[In RopCreateBookmark ROP Failure Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1409
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropCreateBookmarkResponse.InputHandleIndex,
                1409,
                @"[In RopCreateBookmark ROP Failure 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_R1410");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1410
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropCreateBookmarkResponse.ReturnValue.GetType(),
                1410,
                @"[In RopCreateBookmark ROP Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1412
            Site.CaptureRequirementIfAreNotEqual<uint>(
                SuccessReturnValue,
                ropCreateBookmarkResponse.ReturnValue,
                1412,
                @"[In RopCreateBookmark ROP Failure Response Buffer] ReturnValue (4 bytes): For this response[Failure Response], this field is set to a value other than 0x00000000.");
        }
        /// <summary>
        /// Verify RopCreateBookmark Response
        /// </summary>
        /// <param name="createBookmarkResponse">RopCreateBookmarkResponse structure data that needs verification</param>
        private void VerifyRopCreateBookmarkResponse(RopCreateBookmarkResponse createBookmarkResponse)
        {
            this.VerifyRPCLayerRequirement();

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R211
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                createBookmarkResponse.BookmarkSize.GetType(),
                211,
                @"[In RopCreateBookmark ROP Response Buffer] BookmarkSize (2 bytes): An unsigned integer that specifies the size, in bytes, of the Bookmark field.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R213
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte[]),
                createBookmarkResponse.Bookmark.GetType(),
                213,
                @"[In RopCreateBookmark ROP Response Buffer] Bookmark (variable): An array of bytes that contains the bookmark data.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R212
            // Not null means be present.
            Site.CaptureRequirementIfIsNotNull(
                createBookmarkResponse.BookmarkSize.GetType(),
                212,
                @"[In RopCreateBookmark ROP Response Buffer] This field [BookmarkSize] MUST be present.");
        }
        /// <summary>
        /// Verify RopCreateBookmark Success Response
        /// </summary>
        /// <param name="ropCreateBookmarkResponse">The response of RopCreateBookmark request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopCreateBookmark request</param>
        private void VerifyRopCreateBookmarkSuccessResponse(RopCreateBookmarkResponse ropCreateBookmarkResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1392");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1392
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropCreateBookmarkResponse.RopId.GetType(),
                1392,
                @"[In RopCreateBookmark ROP Success Response Buffer] RopId (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1394
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopCreateBookmark,
                ropCreateBookmarkResponse.RopId,
                1394,
                @"[In RopCreateBookmark ROP Success Response Buffer] RopId (1 byte): For this operation[RopCreateBookmark], this field[RopId (1 byte)] is set to 0x1B.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1395
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropCreateBookmarkResponse.InputHandleIndex.GetType(),
                1395,
                @"[In RopCreateBookmark ROP Success Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1396
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropCreateBookmarkResponse.InputHandleIndex,
                1396,
                @"[In RopCreateBookmark ROP Success Response Buffer] InputHandleIndex (1 byte): This index[InputHandleIndex] 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_R1397");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1397
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropCreateBookmarkResponse.ReturnValue.GetType(),
                1397,
                @"[In RopCreateBookmark ROP Success Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1399
            Site.CaptureRequirementIfAreEqual<uint>(
                SuccessReturnValue,
                ropCreateBookmarkResponse.ReturnValue,
                1399,
                @"[In RopCreateBookmark ROP Success Response Buffer] ReturnValue (4 bytes): For this response[Success Response], this field is set to 0x00000000.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1400
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropCreateBookmarkResponse.BookmarkSize.GetType(),
                1400,
                @"[In RopCreateBookmark ROP Success Response Buffer] BookmarkSize (2 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1402
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte[]),
                ropCreateBookmarkResponse.Bookmark.GetType(),
                1402,
                @"[In RopCreateBookmark ROP Success Response Buffer] Bookmark (variable): An array of bytes.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1403
            Site.CaptureRequirementIfAreEqual<ushort>(
                ropCreateBookmarkResponse.BookmarkSize,
                (ushort)ropCreateBookmarkResponse.Bookmark.Length,
                1403,
                @"[In RopCreateBookmark ROP Success Response Buffer] Bookmark (variable): The size of this field, in bytes, is specified by the BookmarkSize field.");
        }