Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiSettersStream.cs / 1305376 / SmiSettersStream.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data.Common; using System.Data.SqlClient; using System.Diagnostics; using System.IO; internal class SmiSettersStream : Stream { private SmiEventSink_Default _sink; private ITypedSettersV3 _setters; private int _ordinal; private long _lengthWritten; private SmiMetaData _metaData; internal SmiSettersStream( SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData ) { Debug.Assert( null != sink ); Debug.Assert( null != setters ); Debug.Assert( 0 <= ordinal ); Debug.Assert( null != metaData ); _sink = sink; _setters = setters; _ordinal = ordinal; _lengthWritten = 0; _metaData = metaData; } public override bool CanRead { get { return false; } } // If CanSeek is false, Position, Seek, Length, and SetLength should throw. public override bool CanSeek { get { return false; } } public override bool CanWrite { get { return true; } } public override long Length { get { return _lengthWritten; } } public override long Position { get { return _lengthWritten; } set { throw SQL.StreamSeekNotSupported(); } } public override void Flush() { _lengthWritten = ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, _lengthWritten); } public override long Seek(long offset, SeekOrigin origin) { throw SQL.StreamSeekNotSupported(); } public override void SetLength(long value) { if ( value < 0 ) { throw ADP.ArgumentOutOfRange("value"); } ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, value); } public override int Read(byte[] buffer, int offset, int count) { throw SQL.StreamReadNotSupported(); } public override void Write(byte[] buffer, int offset, int count) { _lengthWritten += ValueUtilsSmi.SetBytes(_sink, _setters, _ordinal, _metaData, _lengthWritten, buffer, offset, count); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data.Common; using System.Data.SqlClient; using System.Diagnostics; using System.IO; internal class SmiSettersStream : Stream { private SmiEventSink_Default _sink; private ITypedSettersV3 _setters; private int _ordinal; private long _lengthWritten; private SmiMetaData _metaData; internal SmiSettersStream( SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData ) { Debug.Assert( null != sink ); Debug.Assert( null != setters ); Debug.Assert( 0 <= ordinal ); Debug.Assert( null != metaData ); _sink = sink; _setters = setters; _ordinal = ordinal; _lengthWritten = 0; _metaData = metaData; } public override bool CanRead { get { return false; } } // If CanSeek is false, Position, Seek, Length, and SetLength should throw. public override bool CanSeek { get { return false; } } public override bool CanWrite { get { return true; } } public override long Length { get { return _lengthWritten; } } public override long Position { get { return _lengthWritten; } set { throw SQL.StreamSeekNotSupported(); } } public override void Flush() { _lengthWritten = ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, _lengthWritten); } public override long Seek(long offset, SeekOrigin origin) { throw SQL.StreamSeekNotSupported(); } public override void SetLength(long value) { if ( value < 0 ) { throw ADP.ArgumentOutOfRange("value"); } ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, value); } public override int Read(byte[] buffer, int offset, int count) { throw SQL.StreamReadNotSupported(); } public override void Write(byte[] buffer, int offset, int count) { _lengthWritten += ValueUtilsSmi.SetBytes(_sink, _setters, _ordinal, _metaData, _lengthWritten, buffer, offset, count); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ActivityCodeGenerator.cs
- XhtmlTextWriter.cs
- AppDomainFactory.cs
- AuthorizationRule.cs
- XmlDataSource.cs
- xml.cs
- LayoutSettings.cs
- User.cs
- Table.cs
- TraceHandlerErrorFormatter.cs
- IODescriptionAttribute.cs
- Tablet.cs
- TemplateParser.cs
- RTTrackingProfile.cs
- Int64Animation.cs
- DefaultIfEmptyQueryOperator.cs
- ParameterCollection.cs
- ChannelFactoryRefCache.cs
- DurableInstanceContextProvider.cs
- FileLevelControlBuilderAttribute.cs
- ResXResourceReader.cs
- DCSafeHandle.cs
- ValuePatternIdentifiers.cs
- PrintPreviewControl.cs
- ErrorRuntimeConfig.cs
- DataServices.cs
- DataGridViewColumnHeaderCell.cs
- DetailsViewInsertEventArgs.cs
- ProfessionalColors.cs
- LineBreakRecord.cs
- GridLength.cs
- TimelineGroup.cs
- SerializationObjectManager.cs
- dtdvalidator.cs
- FixedTextContainer.cs
- Buffer.cs
- PrintDocument.cs
- DynamicILGenerator.cs
- InheritablePropertyChangeInfo.cs
- RegionData.cs
- TemplateBindingExtension.cs
- TableCellCollection.cs
- ColorIndependentAnimationStorage.cs
- DocumentApplicationDocumentViewer.cs
- XamlReader.cs
- DataBoundControl.cs
- ChangeDirector.cs
- CookieParameter.cs
- CacheModeValueSerializer.cs
- ContextStack.cs
- XmlSchemaSimpleContent.cs
- BezierSegment.cs
- UserPersonalizationStateInfo.cs
- UnsignedPublishLicense.cs
- MatrixTransform.cs
- webbrowsersite.cs
- arabicshape.cs
- MemberDescriptor.cs
- ServiceChannel.cs
- DSACryptoServiceProvider.cs
- dsa.cs
- DtdParser.cs
- PermissionSetTriple.cs
- WindowsMenu.cs
- SystemEvents.cs
- NumericUpDownAcceleration.cs
- DataReaderContainer.cs
- WebException.cs
- WpfMemberInvoker.cs
- UnmanagedMemoryStream.cs
- StringFunctions.cs
- DeferredTextReference.cs
- DbConnectionFactory.cs
- SecureStringHasher.cs
- DynamicValidatorEventArgs.cs
- DetailsViewRow.cs
- ControlPropertyNameConverter.cs
- ApplicationContext.cs
- SafeLocalMemHandle.cs
- MaterialCollection.cs
- Compensation.cs
- IImplicitResourceProvider.cs
- ObjectViewEntityCollectionData.cs
- ImageList.cs
- ExceptionHandlersDesigner.cs
- BaseTemplateCodeDomTreeGenerator.cs
- Transaction.cs
- TreeNodeCollection.cs
- EditingMode.cs
- HtmlTernaryTree.cs
- ProviderUtil.cs
- Crypto.cs
- BindingBase.cs
- CompilationLock.cs
- ResourcesGenerator.cs
- DefaultValueAttribute.cs
- SoapSchemaExporter.cs
- ControlBuilder.cs
- QilNode.cs
- DBCSCodePageEncoding.cs