Microsoft.Protocols.TestSuites.MS_OXCPRPT.MS_OXCPRPTAdapter.GetTableRowValue C# (CSharp) Method

GetTableRowValue() private method

Get the properties' value from the rows of the table.
private GetTableRowValue ( uint tableHandle, ushort rowCount, PropertyTag properties ) : List
tableHandle uint The table handle.
rowCount ushort The amount of the rows.
properties Microsoft.Protocols.TestSuites.Common.PropertyTag The properties need to show.
return List
        private List<PropertyRow> GetTableRowValue(uint tableHandle, ushort rowCount, PropertyTag[] properties)
        {
            #region The client calls RopSetColumns operation to set the property information to show.

            RopSetColumnsRequest setColumnsRequest = new RopSetColumnsRequest
            {
                RopId = (byte)RopId.RopSetColumns,
                LogonId = 0x0,
                InputHandleIndex = 0x0,
                PropertyTagCount = (ushort)properties.Length,
                PropertyTags = properties,
                SetColumnsFlags = (byte)AsynchronousFlags.None
            };
            this.responseSOHsValue = this.ProcessSingleRop(
                    setColumnsRequest,
                    tableHandle,
                    ref this.responseValue,
                    ref this.rawDataValue,
                    RopResponseType.SuccessResponse);
            RopSetColumnsResponse setColumnsResponse = (RopSetColumnsResponse)this.responseValue;

            Site.Assert.AreEqual<uint>(
                SuccessReturnValue,
                setColumnsResponse.ReturnValue,
                "if ROP succeeds, the ReturnValue of its response is 0(success)");

            #endregion

            #region The client calls RopQueryRows operation to query the folder which have the special properties.

            RopQueryRowsRequest queryRowsRequest = new RopQueryRowsRequest
            {
                RopId = (byte)RopId.RopQueryRows,
                LogonId = 0x0,
                InputHandleIndex = 0x0,
                RowCount = (ushort)rowCount,
                QueryRowsFlags = (byte)QueryRowsFlags.Advance,
                ForwardRead = 0x01
            };
            this.responseSOHsValue = this.ProcessSingleRop(
                    queryRowsRequest,
                    tableHandle,
                    ref this.responseValue,
                    ref this.rawDataValue,
                    RopResponseType.SuccessResponse);
            RopQueryRowsResponse queryRowsResponse = (RopQueryRowsResponse)this.responseValue;

            Site.Assert.AreEqual<uint>(
                SuccessReturnValue,
                queryRowsResponse.ReturnValue,
                "if ROP succeeds, the ReturnValue of its response is 0(success)");

            #endregion

            return queryRowsResponse.RowData.PropertyRows;
        }
MS_OXCPRPTAdapter