Microsoft.Protocols.TestSuites.MS_OXCMAPIHTTP.S02_RequestTypesForAddressBookServerEndpoint.BuildSeekEntriesRequestBody C# (CSharp) Method

BuildSeekEntriesRequestBody() private method

Build the GetMatches request body.
private BuildSeekEntriesRequestBody ( bool hasState, STAT state, bool hasTarget, PropertyValue_r target, bool hasExplicitTable, uint explicitableCount, uint explicitTable, bool hasColumns, LargePropertyTagArray columns ) : SeekEntriesRequestBody
hasState bool A Boolean value that specifies whether the State field is present.
state STAT A STAT structure that specifies the state of a specific address book container.
hasTarget bool A Boolean value that specifies whether the Target field is present.
target PropertyValue_r A PropertyValue_r structure that specifies the property value being sought.
hasExplicitTable bool A Boolean value that specifies whether the ExplicitTableCount and ExplicitTable fields are present.
explicitableCount uint An unsigned integer that specifies the number of structures present in the ExplicitTable field.
explicitTable uint An array of unsigned integer that constitute an Explicit Table.
hasColumns bool A Boolean value that specifies whether the Columns field is present.
columns LargePropertyTagArray A LargePropTagArray structure that specifies the columns that the client is requesting.
return SeekEntriesRequestBody
        private SeekEntriesRequestBody BuildSeekEntriesRequestBody(bool hasState, STAT state, bool hasTarget, PropertyValue_r target, bool hasExplicitTable, uint explicitableCount, uint[] explicitTable, bool hasColumns, LargePropertyTagArray columns)
        {
            SeekEntriesRequestBody requestBody = new SeekEntriesRequestBody();

            // Reserved. The client MUST set this field to 0x00000000 and the server MUST ignore this field.
            requestBody.Reserved = 0x00000000;
            requestBody.HasState = hasState;
            if (hasState)
            {
                requestBody.State = state;
            }

            requestBody.HasTarget = hasTarget;
            if (hasTarget)
            {
                requestBody.Target = target;
            }

            requestBody.HasExplicitTable = hasExplicitTable;
            if (hasExplicitTable)
            {
                requestBody.ExplicitableCount = explicitableCount;
                requestBody.ExplicitTable = explicitTable;
            }

            requestBody.HasColumns = hasColumns;

            if (hasColumns)
            {
                requestBody.Columns = columns;
            }

            requestBody.AuxiliaryBufferSize = 0;
            requestBody.AuxiliaryBuffer = new byte[] { };

            return requestBody;
        }
        #endregion