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
- XmlCharCheckingWriter.cs
- ScriptingProfileServiceSection.cs
- UiaCoreApi.cs
- SmtpNetworkElement.cs
- DataGridHeaderBorder.cs
- listitem.cs
- URI.cs
- FormViewPagerRow.cs
- DataGridViewTextBoxEditingControl.cs
- InvokePatternIdentifiers.cs
- Int32CollectionValueSerializer.cs
- ErrorWebPart.cs
- PerfService.cs
- WebReferenceOptions.cs
- MinimizableAttributeTypeConverter.cs
- EmptyControlCollection.cs
- QuaternionKeyFrameCollection.cs
- RadialGradientBrush.cs
- JpegBitmapEncoder.cs
- ToolStripGripRenderEventArgs.cs
- XmlTextAttribute.cs
- DBDataPermission.cs
- EditorBrowsableAttribute.cs
- ProcessHostFactoryHelper.cs
- XmlAnyElementAttributes.cs
- ObjectAssociationEndMapping.cs
- Mapping.cs
- XmlNamespaceMapping.cs
- ExtentKey.cs
- XmlSchemaCollection.cs
- StoreUtilities.cs
- StoragePropertyMapping.cs
- DBSqlParserTableCollection.cs
- CollectionContainer.cs
- XmlTextReaderImplHelpers.cs
- TimeoutTimer.cs
- Calendar.cs
- MailAddressCollection.cs
- Logging.cs
- MSHTMLHost.cs
- ToolStripManager.cs
- ActivityCodeGenerator.cs
- ArraySubsetEnumerator.cs
- WorkerProcess.cs
- ButtonBaseAdapter.cs
- CategoryAttribute.cs
- AvtEvent.cs
- DependencyObjectValidator.cs
- ClientSettingsStore.cs
- DesigntimeLicenseContext.cs
- ProgressiveCrcCalculatingStream.cs
- SingleConverter.cs
- TrackingConditionCollection.cs
- httpstaticobjectscollection.cs
- XmlJsonWriter.cs
- DirectoryGroupQuery.cs
- OutputCacheProfileCollection.cs
- ChannelPoolSettings.cs
- TableLayoutSettings.cs
- HtmlLinkAdapter.cs
- ProgramPublisher.cs
- SingleTagSectionHandler.cs
- ReadWriteObjectLock.cs
- storepermission.cs
- TransformDescriptor.cs
- EventLogQuery.cs
- SpotLight.cs
- WeakReferenceList.cs
- HttpCapabilitiesBase.cs
- ObjectAnimationBase.cs
- AggregationMinMaxHelpers.cs
- EntityDescriptor.cs
- DataContractSerializerOperationBehavior.cs
- ImageFormat.cs
- SqlXmlStorage.cs
- EditorPartChrome.cs
- IDQuery.cs
- TagPrefixCollection.cs
- CertificateReferenceElement.cs
- TargetConverter.cs
- SpotLight.cs
- Delegate.cs
- RtfControlWordInfo.cs
- MobileContainerDesigner.cs
- LinkedResourceCollection.cs
- errorpatternmatcher.cs
- Error.cs
- BuildResultCache.cs
- ReferenceSchema.cs
- DbProviderFactory.cs
- BitmapEffectState.cs
- QuadraticBezierSegment.cs
- AttributeEmitter.cs
- DesignerAutoFormatStyle.cs
- UnmanagedMemoryStream.cs
- QilLiteral.cs
- Debug.cs
- HtmlInputText.cs
- Misc.cs
- TextDecorationCollection.cs