示例#1
0
        public byte[] GetBodyBytes()
        {
            var buffer = new WspBuffer();

            buffer.Add(_wid);

            buffer.Add(_cbSoFar);

            var tempBuffer = new WspBuffer();

            PropSpec.ToBytes(tempBuffer);

            var propSpecBytes = tempBuffer.GetBytes();

            _cbPropSpec = (uint)propSpecBytes.Length;

            buffer.Add(_cbPropSpec);

            buffer.Add(_cbChunk);

            buffer.AddRange(propSpecBytes);

            buffer.AlignWrite(4);

            return(buffer.GetBytes());
        }
        public byte[] GetBodyBytes()
        {
            var buffer = new WspBuffer();

            buffer.Add(_hCursor);

            buffer.Add(_cbRow);

            var tempBuffer = new WspBuffer();

            tempBuffer.Add(cColumns);

            foreach (var column in aColumns)
            {
                tempBuffer.AlignWrite(4);

                column.ToBytes(tempBuffer);
            }

            var bytesAfterDummy = tempBuffer.GetBytes();

            _cbBindingDesc = (uint)bytesAfterDummy.Length;

            buffer.Add(_cbBindingDesc);

            buffer.Add(_dummy);

            buffer.AddRange(bytesAfterDummy);

            return(buffer.GetBytes());
        }
示例#3
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(cDims);

            buffer.Add(fFeatures);

            buffer.Add(cbElements);

            foreach (var bound in Rgsabound)
            {
                bound.ToBytes(buffer);
            }

            foreach (var data in vData)
            {
                if (data is IWspStructure)
                {
                    buffer.AlignWrite(4);
                    (data as IWspStructure).ToBytes(buffer);
                }
                else
                {
                    buffer.Add(data, 4);
                }
            }
        }
示例#4
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(type);
            buffer.AlignWrite(4);

            buffer.Add(ccAlias);

            if (ccAlias != 0)
            {
                buffer.AddUnicodeString(Alias, false);
            }

            buffer.Add(idColumn);

            switch (type)
            {
            case CAggregSpec_type_Values.DBAGGTTYPE_FIRST:
            case CAggregSpec_type_Values.DBAGGTTYPE_BYFREQ:
            case CAggregSpec_type_Values.DBAGGTTYPE_REPRESENTATIVEOF:
                buffer.Add(ulMaxNumToReturn);
                break;
            }

            switch (type)
            {
            case CAggregSpec_type_Values.DBAGGTTYPE_REPRESENTATIVEOF:
                buffer.Add(idRepresentative);
                break;
            }
        }
示例#5
0
        public void ToBytes(WspBuffer buffer)
        {
            Header.ToBytes(buffer);

            buffer.Add(_hCursor);

            buffer.Add(_bmk);
        }
        public byte[] GetBodyBytes()
        {
            var buffer = new WspBuffer();

            buffer.Add(_hCursor);

            buffer.Add(_cRowsToTransfer);

            buffer.Add(_cbRowWidth);

            var tempBuffer = new WspBuffer();

            tempBuffer.Add(eType);

            tempBuffer.Add(_chapt);

            switch (SeekDescription)
            {
            case CRowSeekNext seek:
                seek.ToBytes(tempBuffer);
                break;

            case CRowSeekAt seek:
                seek.ToBytes(tempBuffer);
                break;

            case CRowSeekAtRatio seek:
                seek.ToBytes(tempBuffer);
                break;

            case CRowSeekByBookmark seek:
                seek.ToBytes(tempBuffer);
                break;

            default:
                break;
            }

            var bytesFromEType = tempBuffer.GetBytes();

            _cbSeek = (uint)bytesFromEType.Length;

            buffer.Add(_cbSeek);

            buffer.Add(_cbReserved);

            buffer.Add(_cbReadBuffer);

            buffer.Add(_ulClientBase);

            buffer.Add(_fBwdFetch);

            buffer.AddRange(bytesFromEType);

            return(buffer.GetBytes());
        }
        public void ToBytes(WspBuffer buffer)
        {
            _Property.ToBytes(buffer);

            buffer.Add(Cc, 4);

            buffer.AddUnicodeString(_pwcsPhrase, false);

            buffer.Add(Lcid, 4);
        }
示例#8
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(count);

            buffer.Add(_groupPid);

            foreach (var prop in Props)
            {
                prop.ToBytes(buffer);
            }
        }
示例#9
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(CcLowerPath);

            buffer.AddUnicodeString(_lowerPath, false);

            buffer.Add(_length, 4);

            buffer.Add(_fRecursive);

            buffer.Add(_fVirtual);
        }
示例#10
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(count);

            if (count != 0)
            {
                foreach (var index in indexes)
                {
                    buffer.Add(index);
                }
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(_relop);

            _Property.ToBytes(buffer);

            buffer.AlignWrite(4);

            _prval.ToBytes(buffer);

            buffer.Add(_lcid, 4);
        }
示例#12
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(DBPROPID);

            buffer.Add(DBPROPOPTIONS);

            buffer.Add(DBPROPSTATUS);

            colid.ToBytes(buffer);

            vValue.ToBytes(buffer);
        }
示例#13
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(guidPropertySet);

            buffer.Add(cProperties, 4);

            foreach (var prop in aProps)
            {
                buffer.AlignWrite(4);

                prop.ToBytes(buffer);
            }
        }
示例#14
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(_lcid);

            buffer.Add(cRange);

            foreach (var range in aRangeBegin)
            {
                buffer.AlignWrite(4);

                range.ToBytes(buffer);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(_guidPropSet, 8);

            buffer.Add(ulKind);

            buffer.Add(PrSpec);

            if (ulKind == CFullPropSpec_ulKind_Values.PRSPEC_LPWSTR)
            {
                buffer.AddUnicodeString(Property_name);
            }
        }
示例#16
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(eKind);

            buffer.Add(GUID, 8);

            buffer.Add(ulId);

            if (eKind == CDbColId_eKind_Values.DBKIND_GUID_NAME)
            {
                buffer.AddUnicodeString(vString);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(cCount, 4);

            if (cCount > 0)
            {
                buffer.Add(Reserved);

                foreach (var sortSet in SortSets)
                {
                    sortSet.ToBytes(buffer);
                }
            }
        }
        private byte[] GetBodyBytes()
        {
            var tempBuffer = new WspBuffer();

            tempBuffer.Add(_iClientVersion);

            tempBuffer.Add(_fClientIsRemote);

            var bufferForBlob1 = new WspBuffer();

            bufferForBlob1.Add(cPropSets);

            PropertySet1.ToBytes(bufferForBlob1);

            PropertySet2.ToBytes(bufferForBlob1);

            _cbBlob1 = (uint)bufferForBlob1.WriteOffset;

            tempBuffer.Add(_cbBlob1);

            var bufferForBlob2 = new WspBuffer();

            bufferForBlob2.Add(cExtPropSet, 8);

            foreach (var propertySet in aPropertySets)
            {
                propertySet.ToBytes(bufferForBlob2);
            }

            _cbBlob2 = (uint)bufferForBlob2.WriteOffset;

            tempBuffer.Add(_cbBlob2, 8);

            tempBuffer.AddRange(new byte[12]);

            tempBuffer.AddUnicodeString(MachineName);

            tempBuffer.AddUnicodeString(UserName);

            tempBuffer.AlignWrite(8);

            tempBuffer.AddRange(bufferForBlob1.GetBytes());

            tempBuffer.AlignWrite(8);

            tempBuffer.AddRange(bufferForBlob2.GetBytes());

            return(tempBuffer.GetBytes());
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(ulType);

            prVal.ToBytes(buffer);

            buffer.Add(labelPresent);

            if (labelPresent == 0x01)
            {
                buffer.Add(ccLabel, 4);

                buffer.AddUnicodeString(Label, false);
            }
        }
示例#20
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(vVectorElements);

            foreach (var data in vVectorData)
            {
                if (data is IWspStructure)
                {
                    buffer.AlignWrite(4);
                    ((IWspStructure)data).ToBytes(buffer);
                }
                else
                {
                    buffer.Add(data, 4);
                }
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            if (string.IsNullOrEmpty(_string))
            {
                cLen = 0;

                buffer.Add(cLen);
            }
            else
            {
                cLen = (uint)(_string.Length + 1);

                buffer.Add(cLen);

                buffer.AddUnicodeString(_string);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(_relop);

            buffer.Add(_pid);

            _prval.ToBytes(buffer);

            buffer.Add(_lcid, 4);

            buffer.Add(restrictionPresent);

            if (restrictionPresent == 0x01)
            {
                nextRestriction.ToBytes(buffer);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(cLen);

            if (cLen != 0)
            {
                buffer.AddUnicodeString(_string);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(_cNode);

            foreach (var node in _paNode)
            {
                buffer.AlignWrite(4);
                node.ToBytes(buffer);
            }
        }
 public void ToBytes(WspBuffer buffer)
 {
     buffer.Add(count);
     if (aPropSpec != null)
     {
         foreach (var property in aPropSpec)
         {
             property.ToBytes(buffer);
         }
     }
 }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(_ulCategType);

            _sortKey.ToBytes(buffer);

            if (CRangeCategSpec.HasValue)
            {
                CRangeCategSpec.Value.ToBytes(buffer);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(count);

            foreach (var sort in sortArray)
            {
                buffer.AlignWrite(4);

                sort.ToBytes(buffer);
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(count);

            if (aGroupArray != null)
            {
                foreach (var group in aGroupArray)
                {
                    group.ToBytes(buffer);
                }
            }
        }
示例#29
0
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(count);

            if (categories != null)
            {
                foreach (var category in categories)
                {
                    category.ToBytes(buffer);
                }
            }
        }
        public void ToBytes(WspBuffer buffer)
        {
            buffer.Add(cCount);

            if (cCount != 0)
            {
                foreach (var sortKey in SortKeys)
                {
                    sortKey.ToBytes(buffer);
                }
            }
        }