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

BuildGetMatchRequestBody() private method

Build the GetMatches request body.
private BuildGetMatchRequestBody ( bool hasState, STAT state, bool hasMinimalIds, uint minimalIdCount, uint minimalIds, bool hasFilter, byte filter, bool hasPropertyName, System.Guid propertyNameGuid, uint propertyNameId, uint rowCount, bool hasColumns, LargePropertyTagArray columns ) : GetMatchesRequestBody
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.
hasMinimalIds bool A Boolean value that specifies whether the MinimalIdCount and MinimalIds fields are present.
minimalIdCount uint An unsigned integer that specifies the number of structures present in the MinimalIds field.
minimalIds uint An array of MinimalEntryID structures that constitute an Explicit Table.
hasFilter bool A Boolean value that specifies whether the Filter field is present.
filter byte A restriction that is to be applied to the rows in the address book container.
hasPropertyName bool A Boolean value that specifies whether the PropertyNameGuid and PropertyNameId fields are present.
propertyNameGuid System.Guid The GUID of the property to be opened.
propertyNameId uint A 4-byte value that specifies the ID of the property to be opened.
rowCount uint An unsigned integer that specifies the number of rows the client is requesting.
hasColumns bool A Boolean value that specifies whether the Columns field is present.
columns LargePropertyTagArray A LargePropertyTagArray structure that specifies the columns that the client is requesting.
return GetMatchesRequestBody
        private GetMatchesRequestBody BuildGetMatchRequestBody(bool hasState, STAT state, bool hasMinimalIds, uint minimalIdCount, uint[] minimalIds, bool hasFilter, byte[] filter, bool hasPropertyName, Guid propertyNameGuid, uint propertyNameId, uint rowCount, bool hasColumns, LargePropertyTagArray columns)
        {
            GetMatchesRequestBody getMatchRequestBody = new GetMatchesRequestBody();

            getMatchRequestBody.Reserved = 0x0;
            getMatchRequestBody.HasState = hasState;
            if (hasState)
            {
                getMatchRequestBody.State = state;
            }

            getMatchRequestBody.HasMinimalIds = hasMinimalIds;
            if (hasMinimalIds)
            {
                getMatchRequestBody.MinimalIdCount = minimalIdCount;
                getMatchRequestBody.MinimalIds = minimalIds;
            }

            getMatchRequestBody.InterfaceOptionFlags = 0x0;
            getMatchRequestBody.HasFilter = hasFilter;
            if (hasFilter)
            {
                getMatchRequestBody.Filter = filter;
            }

            getMatchRequestBody.HasPropertyName = hasPropertyName;
            if (hasPropertyName)
            {
                getMatchRequestBody.PropertyNameGuid = propertyNameGuid;
                getMatchRequestBody.PropertyNameId = propertyNameId;
            }

            getMatchRequestBody.RowCount = rowCount;
            getMatchRequestBody.HasColumns = hasColumns;
            if (hasColumns)
            {
                getMatchRequestBody.Columns = columns;
            }

            byte[] auxIn = new byte[] { };
            getMatchRequestBody.AuxiliaryBuffer = auxIn;
            getMatchRequestBody.AuxiliaryBufferSize = (uint)auxIn.Length;

            return getMatchRequestBody;
        }