Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiSettersStream.cs / 1 / 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
- DataPagerFieldCollection.cs
- FileUpload.cs
- SoapProtocolImporter.cs
- SqlRecordBuffer.cs
- DropDownList.cs
- SqlDataSourceView.cs
- WebServiceReceiveDesigner.cs
- CultureInfo.cs
- GeometryGroup.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- GenericPrincipal.cs
- ExtendedProtectionPolicy.cs
- FormViewDeletedEventArgs.cs
- AssemblyCollection.cs
- ToolTip.cs
- XPathLexer.cs
- BinaryFormatter.cs
- WindowsListViewItemStartMenu.cs
- ContextMenu.cs
- MemoryFailPoint.cs
- ParameterCollection.cs
- IsolatedStorageFilePermission.cs
- BezierSegment.cs
- TokenBasedSet.cs
- DataGridViewAddColumnDialog.cs
- SplashScreenNativeMethods.cs
- ConfigXmlCDataSection.cs
- PnrpPeerResolver.cs
- PackagePart.cs
- PlaceHolder.cs
- DisplayNameAttribute.cs
- IndicShape.cs
- WriteLineDesigner.xaml.cs
- WinFormsSpinner.cs
- StreamHelper.cs
- Convert.cs
- NetPeerTcpBindingElement.cs
- User.cs
- ToolStripSplitButton.cs
- RecognizedAudio.cs
- PeerDuplexChannelListener.cs
- XmlSchemaAnnotation.cs
- DataSourceXmlClassAttribute.cs
- WindowsStatic.cs
- MulticastDelegate.cs
- LogEntryDeserializer.cs
- BindToObject.cs
- FileUtil.cs
- DrawingBrush.cs
- XmlILCommand.cs
- SslStreamSecurityBindingElement.cs
- ByteAnimationUsingKeyFrames.cs
- ObjectResult.cs
- LineBreakRecord.cs
- InternalBase.cs
- Flattener.cs
- RefExpr.cs
- XmlElementList.cs
- MaterialGroup.cs
- ModelPerspective.cs
- AnonymousIdentificationSection.cs
- ResolveDuplexAsyncResult.cs
- CompressStream.cs
- XmlTextWriter.cs
- RequestCachingSection.cs
- StringWriter.cs
- OrderedHashRepartitionEnumerator.cs
- HttpDictionary.cs
- AccessText.cs
- Nullable.cs
- ExportFileRequest.cs
- SerializationHelper.cs
- SingletonInstanceContextProvider.cs
- DeflateStream.cs
- DataList.cs
- Deflater.cs
- ApplicationManager.cs
- HttpRuntimeSection.cs
- NonBatchDirectoryCompiler.cs
- RegisteredArrayDeclaration.cs
- Frame.cs
- StylusPlugInCollection.cs
- ObjectList.cs
- NetPeerTcpBinding.cs
- NamespaceQuery.cs
- Slider.cs
- ScriptResourceAttribute.cs
- ActivationService.cs
- InsufficientExecutionStackException.cs
- ISO2022Encoding.cs
- ScriptRef.cs
- PhoneCallDesigner.cs
- ValidationManager.cs
- WebPartMenuStyle.cs
- CodeSpit.cs
- HtmlHistory.cs
- MultiAsyncResult.cs
- ResourceReferenceExpression.cs
- PageVisual.cs
- InheritanceContextHelper.cs