Microsoft.Protocols.TestSuites.MS_OXCTABL.MS_OXCTABLAdapter.RopQueryPosition C# (CSharp) Method

RopQueryPosition() public method

This method is used to query position for a table
public RopQueryPosition ( ) : TableRopReturnValues
return TableRopReturnValues
        public TableRopReturnValues RopQueryPosition()
        {
            RopQueryPositionRequest queryPositionRequest;
            RopQueryPositionResponse queryPositionResponse;

            queryPositionRequest.RopId = 0x17;
            queryPositionRequest.LogonId = 0x00;
            queryPositionRequest.InputHandleIndex = 0x00;

            this.DoSingleCallROP(queryPositionRequest, this.tableHandle, ref this.response, ref this.rawData);
            queryPositionResponse = (RopQueryPositionResponse)this.response;

            uint numerator = queryPositionResponse.Numerator;
            uint denominator = queryPositionResponse.Denominator;

            CursorPosition currentPosition;
            if (numerator == 0)
            {
                // Indicate the cursor position is begin when numerator is 0.
                currentPosition = CursorPosition.BEGIN;
            }
            else if (numerator == denominator)
            {
                // Indicate the cursor position is end when numerator equal denominator.
                currentPosition = CursorPosition.END;
            }
            else
            {
                currentPosition = CursorPosition.CURRENT;
            }

            bool isRowCount = this.rowCount == denominator;

            if (this.RopQueryPositionResponse != null)
            {
                this.RopQueryPositionResponse(currentPosition, isRowCount);
            }

            return (TableRopReturnValues)queryPositionResponse.ReturnValue;
        }